{"componentChunkName":"component---src-pages-search-index-tsx","path":"/search/","result":{"data":{"localSearchBlog":{"index":"[[{\"t\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Ether, Wei e Taxa de Gas\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"ti\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Ether, Wei e Taxa de Gas\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"tit\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Ether, Wei e Taxa de Gas\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"titl\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Ether, Wei e Taxa de Gas\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"title\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Ether, Wei e Taxa de Gas\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"c\":[\"Carteira com Multi-Assinaturas\",\"Carteira de Tokens\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Evento, Construtor e Herança\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"ca\":[\"Carteira com Multi-Assinaturas\",\"Carteira de Tokens\",\"Criar um Canal de pagamento bidirecional\",\"Criar um Canal de pagamento unidirecional\",\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"car\":[\"Carteira com Multi-Assinaturas\",\"Carteira de Tokens\"],\"cart\":[\"Carteira com Multi-Assinaturas\",\"Carteira de Tokens\"],\"carte\":[\"Carteira com Multi-Assinaturas\",\"Carteira de Tokens\"],\"cartei\":[\"Carteira com Multi-Assinaturas\",\"Carteira de Tokens\"],\"carteir\":[\"Carteira com Multi-Assinaturas\",\"Carteira de Tokens\"],\"carteira\":[\"Carteira com Multi-Assinaturas\",\"Carteira de Tokens\"],\"co\":[\"Carteira com Multi-Assinaturas\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Evento, Construtor e Herança\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"com\":[\"Carteira com Multi-Assinaturas\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um contrato com bloqueio de tempo\",\"Enviar Ether com transfer, send e call\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"m\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"Mapping e Arrays\",\"Funções e Modificadores\",\"Ataques com estouro de memória\",\"Como um contrato malicioso esconde seu script\",\"Manipulando o timestamp do bloco na blockchain\"],\"mu\":[\"Carteira com Multi-Assinaturas\",\"Criar contrato para Multichamada de funções\"],\"mul\":[\"Carteira com Multi-Assinaturas\",\"Criar contrato para Multichamada de funções\"],\"mult\":[\"Carteira com Multi-Assinaturas\",\"Criar contrato para Multichamada de funções\"],\"multi\":[\"Carteira com Multi-Assinaturas\",\"Criar contrato para Multichamada de funções\"],\"a\":[\"Carteira com Multi-Assinaturas\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Meu primeiro aplicativo\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Evento, Construtor e Herança\",\"Criar um contrato através de outro contrato\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Como adicionar e remover liquidez com Uniswap V2\"],\"as\":[\"Carteira com Multi-Assinaturas\",\"Entendendo as Variáveis\",\"Verificando assinatura hashing com Keccak256\",\"Repetição de assinatura\"],\"ass\":[\"Carteira com Multi-Assinaturas\",\"Verificando assinatura hashing com Keccak256\",\"Repetição de assinatura\"],\"assi\":[\"Carteira com Multi-Assinaturas\",\"Verificando assinatura hashing com Keccak256\",\"Repetição de assinatura\"],\"assin\":[\"Carteira com Multi-Assinaturas\",\"Verificando assinatura hashing com Keccak256\",\"Repetição de assinatura\"],\"assina\":[\"Carteira com Multi-Assinaturas\",\"Verificando assinatura hashing com Keccak256\",\"Repetição de assinatura\"],\"assinat\":[\"Carteira com Multi-Assinaturas\",\"Verificando assinatura hashing com Keccak256\",\"Repetição de assinatura\"],\"assinatu\":[\"Carteira com Multi-Assinaturas\",\"Verificando assinatura hashing com Keccak256\",\"Repetição de assinatura\"],\"assinatur\":[\"Carteira com Multi-Assinaturas\",\"Verificando assinatura hashing com Keccak256\",\"Repetição de assinatura\"],\"assinatura\":[\"Carteira com Multi-Assinaturas\",\"Verificando assinatura hashing com Keccak256\",\"Repetição de assinatura\"],\"assinaturas\":[\"Carteira com Multi-Assinaturas\"],\"d\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Ether, Wei e Taxa de Gas\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\"],\"de\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Ether, Wei e Taxa de Gas\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Repetição de assinatura\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\"],\"des\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Repetição de assinatura\"],\"desc\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Repetição de assinatura\"],\"descr\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Repetição de assinatura\"],\"descri\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Repetição de assinatura\"],\"descrip\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Repetição de assinatura\"],\"descript\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Repetição de assinatura\"],\"descripti\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Repetição de assinatura\"],\"descriptio\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Repetição de assinatura\"],\"description\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Repetição de assinatura\"],\"n\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\",\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\"],\"ne\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\",\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\"],\"nes\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\",\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Fonte de Aleatoriedade\"],\"ness\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\",\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Fonte de Aleatoriedade\"],\"nesse\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\",\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Fonte de Aleatoriedade\"],\"r\":[\"Árvore de Merkle\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Como realizar testes com Echidna\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como adicionar e remover liquidez com Uniswap V2\"],\"rv\":[\"Árvore de Merkle\"],\"rvo\":[\"Árvore de Merkle\"],\"rvor\":[\"Árvore de Merkle\"],\"rvore\":[\"Árvore de Merkle\"],\"me\":[\"Árvore de Merkle\",\"Meu primeiro aplicativo\",\"Ataques com estouro de memória\"],\"mer\":[\"Árvore de Merkle\"],\"merk\":[\"Árvore de Merkle\"],\"merkl\":[\"Árvore de Merkle\"],\"merkle\":[\"Árvore de Merkle\"],\"to\":[\"Carteira de Tokens\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"tok\":[\"Carteira de Tokens\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"toke\":[\"Carteira de Tokens\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"token\":[\"Carteira de Tokens\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"tokens\":[\"Carteira de Tokens\"],\"ma\":[\"Mapeamento Iterável\",\"Mapping e Arrays\",\"Como um contrato malicioso esconde seu script\",\"Manipulando o timestamp do bloco na blockchain\"],\"map\":[\"Mapeamento Iterável\",\"Mapping e Arrays\"],\"mape\":[\"Mapeamento Iterável\"],\"mapea\":[\"Mapeamento Iterável\"],\"mapeam\":[\"Mapeamento Iterável\"],\"mapeame\":[\"Mapeamento Iterável\"],\"mapeamen\":[\"Mapeamento Iterável\"],\"mapeament\":[\"Mapeamento Iterável\"],\"mapeamento\":[\"Mapeamento Iterável\"],\"i\":[\"Mapeamento Iterável\",\"Como implantar qualquer contrato com Proxy\",\"Criar um sistema de leilão inglês e holandês\",\"Ether, Wei e Taxa de Gas\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Import e Libraries, para que servem?\",\"Inutilizar um contrato através da negação de serviço\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"it\":[\"Mapeamento Iterável\"],\"ite\":[\"Mapeamento Iterável\"],\"iter\":[\"Mapeamento Iterável\"],\"v\":[\"Mapeamento Iterável\",\"Entendendo as Variáveis\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Verificando assinatura hashing com Keccak256\",\"Acessando variáveis privadas\",\"Como ignorar a verificação do tamanho do contrato\"],\"ve\":[\"Mapeamento Iterável\",\"Entendendo as Variáveis\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Verificando assinatura hashing com Keccak256\",\"Acessando variáveis privadas\",\"Como ignorar a verificação do tamanho do contrato\"],\"vel\":[\"Mapeamento Iterável\"],\"cr\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Criar um contrato através de outro contrato\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"cri\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Criar um contrato através de outro contrato\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"cria\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Criar um contrato através de outro contrato\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"crian\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"criand\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"criando\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"no\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"nos\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"noss\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"nosso\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"p\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Criar um Canal de pagamento bidirecional\",\"Ether, Wei e Taxa de Gas\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"Criar um Canal de pagamento unidirecional\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Import e Libraries, para que servem?\",\"O que é ABI e para que serve?\",\"Acessando variáveis privadas\",\"Phishing com tx.origin\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Como criar um sistema de preços Oracle\",\"Como criar um produto constante AMM\"],\"pr\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Meu primeiro aplicativo\",\"Acessando variáveis privadas\",\"Como criar um sistema de preços Oracle\",\"Como criar um produto constante AMM\"],\"pri\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Meu primeiro aplicativo\",\"Acessando variáveis privadas\"],\"prim\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Meu primeiro aplicativo\"],\"prime\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Meu primeiro aplicativo\"],\"primei\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Meu primeiro aplicativo\"],\"primeir\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Meu primeiro aplicativo\"],\"primeiro\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Meu primeiro aplicativo\"],\"e\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Como um contrato malicioso esconde seu script\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Exemplos de uso do Uniswap V3\"],\"er\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Tratamento de erros de condições e exceções\"],\"erc\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"erc2\":[\"Criando nosso primeiro Token ERC20\"],\"erc20\":[\"Criando nosso primeiro Token ERC20\"],\"erc7\":[\"Criando nosso primeiro Token ERC721\"],\"erc72\":[\"Criando nosso primeiro Token ERC721\"],\"erc721\":[\"Criando nosso primeiro Token ERC721\"],\"tr\":[\"Trabalhando com Proxy\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\"],\"tra\":[\"Trabalhando com Proxy\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\"],\"trab\":[\"Trabalhando com Proxy\"],\"traba\":[\"Trabalhando com Proxy\"],\"trabal\":[\"Trabalhando com Proxy\"],\"trabalh\":[\"Trabalhando com Proxy\"],\"trabalha\":[\"Trabalhando com Proxy\"],\"trabalhan\":[\"Trabalhando com Proxy\"],\"trabalhand\":[\"Trabalhando com Proxy\"],\"trabalhando\":[\"Trabalhando com Proxy\"],\"pro\":[\"Trabalhando com Proxy\",\"Como criar um produto constante AMM\"],\"prox\":[\"Trabalhando com Proxy\"],\"proxy\":[\"Trabalhando com Proxy\"],\"comp\":[\"Pré-computar endereço do Contrato com Create2\"],\"compu\":[\"Pré-computar endereço do Contrato com Create2\"],\"comput\":[\"Pré-computar endereço do Contrato com Create2\"],\"computa\":[\"Pré-computar endereço do Contrato com Create2\"],\"computar\":[\"Pré-computar endereço do Contrato com Create2\"],\"en\":[\"Pré-computar endereço do Contrato com Create2\",\"Entendendo as Variáveis\",\"Enum - Enumeradores\",\"Enviar Ether com transfer, send e call\"],\"end\":[\"Pré-computar endereço do Contrato com Create2\"],\"ende\":[\"Pré-computar endereço do Contrato com Create2\"],\"ender\":[\"Pré-computar endereço do Contrato com Create2\"],\"endere\":[\"Pré-computar endereço do Contrato com Create2\"],\"o\":[\"Pré-computar endereço do Contrato com Create2\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um contrato através de outro contrato\",\"O que é ABI e para que serve?\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Phishing com tx.origin\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"do\":[\"Pré-computar endereço do Contrato com Create2\",\"Manipulando o timestamp do bloco na blockchain\"],\"como\":[\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Como realizar testes com Echidna\",\"Como um contrato malicioso esconde seu script\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"g\":[\"Como gravar dados em qualquer slot\",\"Ether, Wei e Taxa de Gas\"],\"gr\":[\"Como gravar dados em qualquer slot\"],\"gra\":[\"Como gravar dados em qualquer slot\"],\"grav\":[\"Como gravar dados em qualquer slot\"],\"grava\":[\"Como gravar dados em qualquer slot\"],\"gravar\":[\"Como gravar dados em qualquer slot\"],\"da\":[\"Como gravar dados em qualquer slot\",\"Armazenamento de Dados\",\"Inutilizar um contrato através da negação de serviço\"],\"dad\":[\"Como gravar dados em qualquer slot\",\"Armazenamento de Dados\"],\"dado\":[\"Como gravar dados em qualquer slot\",\"Armazenamento de Dados\"],\"dados\":[\"Como gravar dados em qualquer slot\",\"Armazenamento de Dados\"],\"em\":[\"Como gravar dados em qualquer slot\"],\"q\":[\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"O que é ABI e para que serve?\"],\"qu\":[\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"O que é ABI e para que serve?\"],\"qua\":[\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\"],\"qual\":[\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\"],\"qualq\":[\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\"],\"qualqu\":[\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\"],\"qualque\":[\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\"],\"qualquer\":[\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\"],\"im\":[\"Como implantar qualquer contrato com Proxy\",\"Import e Libraries, para que servem?\"],\"imp\":[\"Como implantar qualquer contrato com Proxy\",\"Import e Libraries, para que servem?\"],\"impl\":[\"Como implantar qualquer contrato com Proxy\"],\"impla\":[\"Como implantar qualquer contrato com Proxy\"],\"implan\":[\"Como implantar qualquer contrato com Proxy\"],\"implant\":[\"Como implantar qualquer contrato com Proxy\"],\"implanta\":[\"Como implantar qualquer contrato com Proxy\"],\"implantar\":[\"Como implantar qualquer contrato com Proxy\"],\"con\":[\"Como implantar qualquer contrato com Proxy\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Evento, Construtor e Herança\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\"],\"cont\":[\"Como implantar qualquer contrato com Proxy\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\"],\"contr\":[\"Como implantar qualquer contrato com Proxy\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\"],\"contra\":[\"Como implantar qualquer contrato com Proxy\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\"],\"contrat\":[\"Como implantar qualquer contrato com Proxy\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\"],\"contrato\":[\"Como implantar qualquer contrato com Proxy\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\"],\"criar\":[\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Criar um contrato através de outro contrato\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"u\":[\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Ether, Wei e Taxa de Gas\",\"Criar um Canal de pagamento unidirecional\",\"Criar um contrato através de outro contrato\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"um\":[\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Ether, Wei e Taxa de Gas\",\"Criar um Canal de pagamento unidirecional\",\"Criar um contrato através de outro contrato\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"can\":[\"Criar um Canal de pagamento bidirecional\",\"Criar um Canal de pagamento unidirecional\"],\"cana\":[\"Criar um Canal de pagamento bidirecional\",\"Criar um Canal de pagamento unidirecional\"],\"canal\":[\"Criar um Canal de pagamento bidirecional\",\"Criar um Canal de pagamento unidirecional\"],\"pa\":[\"Criar um Canal de pagamento bidirecional\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Import e Libraries, para que servem?\",\"O que é ABI e para que serve?\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"pag\":[\"Criar um Canal de pagamento bidirecional\",\"Criar um Canal de pagamento unidirecional\",\"Visibilidade, Interfaces e Funções Pagáveis\"],\"paga\":[\"Criar um Canal de pagamento bidirecional\",\"Criar um Canal de pagamento unidirecional\"],\"pagam\":[\"Criar um Canal de pagamento bidirecional\",\"Criar um Canal de pagamento unidirecional\"],\"pagame\":[\"Criar um Canal de pagamento bidirecional\",\"Criar um Canal de pagamento unidirecional\"],\"pagamen\":[\"Criar um Canal de pagamento bidirecional\",\"Criar um Canal de pagamento unidirecional\"],\"pagament\":[\"Criar um Canal de pagamento bidirecional\",\"Criar um Canal de pagamento unidirecional\"],\"pagamento\":[\"Criar um Canal de pagamento bidirecional\",\"Criar um Canal de pagamento unidirecional\"],\"s\":[\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Estruturas - Struct\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\",\"Como realizar Swap com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"si\":[\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\"],\"sis\":[\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\"],\"sist\":[\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\"],\"siste\":[\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\"],\"sistem\":[\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\"],\"sistema\":[\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\"],\"l\":[\"Criar um sistema de leilão inglês e holandês\",\"Import e Libraries, para que servem?\",\"Como adicionar e remover liquidez com Uniswap V2\"],\"le\":[\"Criar um sistema de leilão inglês e holandês\"],\"lei\":[\"Criar um sistema de leilão inglês e holandês\"],\"leil\":[\"Criar um sistema de leilão inglês e holandês\"],\"in\":[\"Criar um sistema de leilão inglês e holandês\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Inutilizar um contrato através da negação de serviço\"],\"ing\":[\"Criar um sistema de leilão inglês e holandês\"],\"ingl\":[\"Criar um sistema de leilão inglês e holandês\"],\"ent\":[\"Entendendo as Variáveis\"],\"ente\":[\"Entendendo as Variáveis\"],\"enten\":[\"Entendendo as Variáveis\"],\"entend\":[\"Entendendo as Variáveis\"],\"entende\":[\"Entendendo as Variáveis\"],\"entenden\":[\"Entendendo as Variáveis\"],\"entendend\":[\"Entendendo as Variáveis\"],\"entendendo\":[\"Entendendo as Variáveis\"],\"va\":[\"Entendendo as Variáveis\",\"Acessando variáveis privadas\"],\"var\":[\"Entendendo as Variáveis\",\"Acessando variáveis privadas\"],\"vari\":[\"Entendendo as Variáveis\",\"Acessando variáveis privadas\"],\"vei\":[\"Entendendo as Variáveis\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Acessando variáveis privadas\"],\"veis\":[\"Entendendo as Variáveis\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Acessando variáveis privadas\"],\"f\":[\"Criar um sistema de financiamento coletivo\",\"Ether, Wei e Taxa de Gas\",\"If, Else, For e While\",\"Funções e Modificadores\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Ataque utilizando a técnica front running\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"fi\":[\"Criar um sistema de financiamento coletivo\"],\"fin\":[\"Criar um sistema de financiamento coletivo\"],\"fina\":[\"Criar um sistema de financiamento coletivo\"],\"finan\":[\"Criar um sistema de financiamento coletivo\"],\"financ\":[\"Criar um sistema de financiamento coletivo\"],\"financi\":[\"Criar um sistema de financiamento coletivo\"],\"financia\":[\"Criar um sistema de financiamento coletivo\"],\"financiam\":[\"Criar um sistema de financiamento coletivo\"],\"financiame\":[\"Criar um sistema de financiamento coletivo\"],\"financiamen\":[\"Criar um sistema de financiamento coletivo\"],\"financiament\":[\"Criar um sistema de financiamento coletivo\"],\"financiamento\":[\"Criar um sistema de financiamento coletivo\"],\"b\":[\"Criar um contrato com bloqueio de tempo\",\"Manipulando o timestamp do bloco na blockchain\"],\"bl\":[\"Criar um contrato com bloqueio de tempo\",\"Manipulando o timestamp do bloco na blockchain\"],\"blo\":[\"Criar um contrato com bloqueio de tempo\",\"Manipulando o timestamp do bloco na blockchain\"],\"bloq\":[\"Criar um contrato com bloqueio de tempo\"],\"bloqu\":[\"Criar um contrato com bloqueio de tempo\"],\"bloque\":[\"Criar um contrato com bloqueio de tempo\"],\"bloquei\":[\"Criar um contrato com bloqueio de tempo\"],\"bloqueio\":[\"Criar um contrato com bloqueio de tempo\"],\"et\":[\"Ether, Wei e Taxa de Gas\",\"Enviar Ether com transfer, send e call\"],\"eth\":[\"Ether, Wei e Taxa de Gas\",\"Enviar Ether com transfer, send e call\"],\"ethe\":[\"Ether, Wei e Taxa de Gas\",\"Enviar Ether com transfer, send e call\"],\"ether\":[\"Ether, Wei e Taxa de Gas\",\"Enviar Ether com transfer, send e call\"],\"w\":[\"Ether, Wei e Taxa de Gas\",\"If, Else, For e While\"],\"we\":[\"Ether, Wei e Taxa de Gas\"],\"wei\":[\"Ether, Wei e Taxa de Gas\"],\"ta\":[\"Ether, Wei e Taxa de Gas\"],\"tax\":[\"Ether, Wei e Taxa de Gas\"],\"taxa\":[\"Ether, Wei e Taxa de Gas\"],\"ga\":[\"Ether, Wei e Taxa de Gas\"],\"gas\":[\"Ether, Wei e Taxa de Gas\"],\"ar\":[\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Fonte de Aleatoriedade\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"art\":[\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\",\"Fonte de Aleatoriedade\"],\"arti\":[\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\",\"Fonte de Aleatoriedade\"],\"artig\":[\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\",\"Fonte de Aleatoriedade\"],\"artigo\":[\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\",\"Fonte de Aleatoriedade\"],\"ir\":[\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\"],\"ire\":[\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\"],\"irem\":[\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\"],\"iremo\":[\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\"],\"iremos\":[\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\"],\"fa\":[\"Ether, Wei e Taxa de Gas\",\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"fal\":[\"Ether, Wei e Taxa de Gas\",\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"fala\":[\"Ether, Wei e Taxa de Gas\"],\"falar\":[\"Ether, Wei e Taxa de Gas\"],\"po\":[\"Ether, Wei e Taxa de Gas\"],\"pou\":[\"Ether, Wei e Taxa de Gas\"],\"pouc\":[\"Ether, Wei e Taxa de Gas\"],\"pouco\":[\"Ether, Wei e Taxa de Gas\"],\"par\":[\"Criar contrato para Multichamada de funções\",\"Import e Libraries, para que servem?\",\"O que é ABI e para que serve?\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"para\":[\"Criar contrato para Multichamada de funções\",\"Import e Libraries, para que servem?\",\"O que é ABI e para que serve?\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"multic\":[\"Criar contrato para Multichamada de funções\"],\"multich\":[\"Criar contrato para Multichamada de funções\"],\"multicha\":[\"Criar contrato para Multichamada de funções\"],\"multicham\":[\"Criar contrato para Multichamada de funções\"],\"multichama\":[\"Criar contrato para Multichamada de funções\"],\"multichamad\":[\"Criar contrato para Multichamada de funções\"],\"multichamada\":[\"Criar contrato para Multichamada de funções\"],\"meu\":[\"Meu primeiro aplicativo\"],\"ap\":[\"Meu primeiro aplicativo\",\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"apl\":[\"Meu primeiro aplicativo\"],\"apli\":[\"Meu primeiro aplicativo\"],\"aplic\":[\"Meu primeiro aplicativo\"],\"aplica\":[\"Meu primeiro aplicativo\"],\"aplicat\":[\"Meu primeiro aplicativo\"],\"aplicati\":[\"Meu primeiro aplicativo\"],\"aplicativ\":[\"Meu primeiro aplicativo\"],\"aplicativo\":[\"Meu primeiro aplicativo\"],\"if\":[\"If, Else, For e While\"],\"el\":[\"If, Else, For e While\"],\"els\":[\"If, Else, For e While\"],\"else\":[\"If, Else, For e While\"],\"fo\":[\"If, Else, For e While\",\"Fonte de Aleatoriedade\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"for\":[\"If, Else, For e While\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"wh\":[\"If, Else, For e While\"],\"whi\":[\"If, Else, For e While\"],\"whil\":[\"If, Else, For e While\"],\"while\":[\"If, Else, For e While\"],\"enu\":[\"Enum - Enumeradores\"],\"enum\":[\"Enum - Enumeradores\"],\"enume\":[\"Enum - Enumeradores\"],\"enumer\":[\"Enum - Enumeradores\"],\"enumera\":[\"Enum - Enumeradores\"],\"enumerad\":[\"Enum - Enumeradores\"],\"enumerado\":[\"Enum - Enumeradores\"],\"enumerador\":[\"Enum - Enumeradores\"],\"enumeradore\":[\"Enum - Enumeradores\"],\"enumeradores\":[\"Enum - Enumeradores\"],\"ab\":[\"Enum - Enumeradores\",\"O que é ABI e para que serve?\"],\"abo\":[\"Enum - Enumeradores\"],\"abor\":[\"Enum - Enumeradores\"],\"abord\":[\"Enum - Enumeradores\"],\"aborda\":[\"Enum - Enumeradores\"],\"abordar\":[\"Enum - Enumeradores\"],\"mapp\":[\"Mapping e Arrays\"],\"mappi\":[\"Mapping e Arrays\"],\"mappin\":[\"Mapping e Arrays\"],\"mapping\":[\"Mapping e Arrays\"],\"arr\":[\"Mapping e Arrays\"],\"arra\":[\"Mapping e Arrays\"],\"array\":[\"Mapping e Arrays\"],\"arrays\":[\"Mapping e Arrays\"],\"arm\":[\"Armazenamento de Dados\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"arma\":[\"Armazenamento de Dados\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"armaz\":[\"Armazenamento de Dados\"],\"armaze\":[\"Armazenamento de Dados\"],\"armazen\":[\"Armazenamento de Dados\"],\"armazena\":[\"Armazenamento de Dados\"],\"armazenam\":[\"Armazenamento de Dados\"],\"armazename\":[\"Armazenamento de Dados\"],\"armazenamen\":[\"Armazenamento de Dados\"],\"armazenament\":[\"Armazenamento de Dados\"],\"armazenamento\":[\"Armazenamento de Dados\"],\"es\":[\"Estruturas - Struct\",\"Funções e Modificadores\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Tratamento de erros de condições e exceções\",\"Ataques com estouro de memória\",\"Como um contrato malicioso esconde seu script\"],\"est\":[\"Estruturas - Struct\",\"Ataques com estouro de memória\"],\"estr\":[\"Estruturas - Struct\"],\"estru\":[\"Estruturas - Struct\"],\"estrut\":[\"Estruturas - Struct\"],\"estrutu\":[\"Estruturas - Struct\"],\"estrutur\":[\"Estruturas - Struct\"],\"estrutura\":[\"Estruturas - Struct\"],\"estruturas\":[\"Estruturas - Struct\"],\"st\":[\"Estruturas - Struct\",\"Como criar um sistema de Staking de Recompensas\"],\"str\":[\"Estruturas - Struct\"],\"stru\":[\"Estruturas - Struct\"],\"struc\":[\"Estruturas - Struct\"],\"struct\":[\"Estruturas - Struct\"],\"fu\":[\"Funções e Modificadores\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Chamada de função delegatecall\"],\"fun\":[\"Funções e Modificadores\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Chamada de função delegatecall\"],\"mo\":[\"Funções e Modificadores\"],\"mod\":[\"Funções e Modificadores\"],\"modi\":[\"Funções e Modificadores\"],\"modif\":[\"Funções e Modificadores\"],\"modifi\":[\"Funções e Modificadores\"],\"modific\":[\"Funções e Modificadores\"],\"modifica\":[\"Funções e Modificadores\"],\"modificad\":[\"Funções e Modificadores\"],\"modificado\":[\"Funções e Modificadores\"],\"modificador\":[\"Funções e Modificadores\"],\"modificadore\":[\"Funções e Modificadores\"],\"modificadores\":[\"Funções e Modificadores\"],\"ev\":[\"Evento, Construtor e Herança\"],\"eve\":[\"Evento, Construtor e Herança\"],\"even\":[\"Evento, Construtor e Herança\"],\"event\":[\"Evento, Construtor e Herança\"],\"evento\":[\"Evento, Construtor e Herança\"],\"cons\":[\"Evento, Construtor e Herança\"],\"const\":[\"Evento, Construtor e Herança\"],\"constr\":[\"Evento, Construtor e Herança\"],\"constru\":[\"Evento, Construtor e Herança\"],\"construt\":[\"Evento, Construtor e Herança\"],\"construto\":[\"Evento, Construtor e Herança\"],\"construtor\":[\"Evento, Construtor e Herança\"],\"h\":[\"Evento, Construtor e Herança\",\"Verificando assinatura hashing com Keccak256\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"he\":[\"Evento, Construtor e Herança\"],\"her\":[\"Evento, Construtor e Herança\"],\"hera\":[\"Evento, Construtor e Herança\"],\"heran\":[\"Evento, Construtor e Herança\"],\"vi\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"vis\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"visi\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"visib\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"visibi\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"visibil\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"visibili\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"visibilid\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"visibilida\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"visibilidad\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"visibilidade\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"int\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"inte\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"inter\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"interf\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"interfa\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"interfac\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"interface\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"interfaces\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"env\":[\"Enviar Ether com transfer, send e call\"],\"envi\":[\"Enviar Ether com transfer, send e call\"],\"envia\":[\"Enviar Ether com transfer, send e call\"],\"enviar\":[\"Enviar Ether com transfer, send e call\"],\"tran\":[\"Enviar Ether com transfer, send e call\"],\"trans\":[\"Enviar Ether com transfer, send e call\"],\"transf\":[\"Enviar Ether com transfer, send e call\"],\"transfe\":[\"Enviar Ether com transfer, send e call\"],\"transfer\":[\"Enviar Ether com transfer, send e call\"],\"se\":[\"Enviar Ether com transfer, send e call\",\"Como um contrato malicioso esconde seu script\"],\"sen\":[\"Enviar Ether com transfer, send e call\"],\"send\":[\"Enviar Ether com transfer, send e call\"],\"trat\":[\"Tratamento de erros de condições e exceções\"],\"trata\":[\"Tratamento de erros de condições e exceções\"],\"tratam\":[\"Tratamento de erros de condições e exceções\"],\"tratame\":[\"Tratamento de erros de condições e exceções\"],\"tratamen\":[\"Tratamento de erros de condições e exceções\"],\"tratament\":[\"Tratamento de erros de condições e exceções\"],\"tratamento\":[\"Tratamento de erros de condições e exceções\"],\"err\":[\"Tratamento de erros de condições e exceções\"],\"erro\":[\"Tratamento de erros de condições e exceções\"],\"erros\":[\"Tratamento de erros de condições e exceções\"],\"cond\":[\"Tratamento de erros de condições e exceções\"],\"condi\":[\"Tratamento de erros de condições e exceções\"],\"ex\":[\"Tratamento de erros de condições e exceções\",\"Exemplos de uso do Uniswap V3\"],\"exc\":[\"Tratamento de erros de condições e exceções\"],\"exce\":[\"Tratamento de erros de condições e exceções\"],\"at\":[\"Criar um contrato através de outro contrato\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\",\"Inutilizar um contrato através da negação de serviço\",\"Ataque utilizando a técnica front running\"],\"atr\":[\"Criar um contrato através de outro contrato\",\"Inutilizar um contrato através da negação de serviço\"],\"atra\":[\"Criar um contrato através de outro contrato\",\"Inutilizar um contrato através da negação de serviço\"],\"atrav\":[\"Criar um contrato através de outro contrato\",\"Inutilizar um contrato através da negação de serviço\"],\"ou\":[\"Criar um contrato através de outro contrato\"],\"out\":[\"Criar um contrato através de outro contrato\"],\"outr\":[\"Criar um contrato através de outro contrato\"],\"outro\":[\"Criar um contrato através de outro contrato\"],\"cal\":[\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"call\":[\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"fall\":[\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"fallb\":[\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"fallba\":[\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"fallbac\":[\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"fallback\":[\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"del\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"dele\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"deleg\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"delega\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"delegat\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"delegate\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"delegatec\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"delegateca\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"delegatecal\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"delegatecall\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"ch\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"cha\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"cham\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"chama\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"chamad\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"chamada\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Chamada de função delegatecall\"],\"chamadas\":[\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"contratos\":[\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"impo\":[\"Import e Libraries, para que servem?\"],\"impor\":[\"Import e Libraries, para que servem?\"],\"import\":[\"Import e Libraries, para que servem?\"],\"li\":[\"Import e Libraries, para que servem?\",\"Como adicionar e remover liquidez com Uniswap V2\"],\"lib\":[\"Import e Libraries, para que servem?\"],\"libr\":[\"Import e Libraries, para que servem?\"],\"libra\":[\"Import e Libraries, para que servem?\"],\"librar\":[\"Import e Libraries, para que servem?\"],\"librari\":[\"Import e Libraries, para que servem?\"],\"librarie\":[\"Import e Libraries, para que servem?\"],\"libraries\":[\"Import e Libraries, para que servem?\"],\"ver\":[\"Verificando assinatura hashing com Keccak256\",\"Como ignorar a verificação do tamanho do contrato\"],\"veri\":[\"Verificando assinatura hashing com Keccak256\",\"Como ignorar a verificação do tamanho do contrato\"],\"verif\":[\"Verificando assinatura hashing com Keccak256\",\"Como ignorar a verificação do tamanho do contrato\"],\"verifi\":[\"Verificando assinatura hashing com Keccak256\",\"Como ignorar a verificação do tamanho do contrato\"],\"verific\":[\"Verificando assinatura hashing com Keccak256\",\"Como ignorar a verificação do tamanho do contrato\"],\"verifica\":[\"Verificando assinatura hashing com Keccak256\",\"Como ignorar a verificação do tamanho do contrato\"],\"verifican\":[\"Verificando assinatura hashing com Keccak256\"],\"verificand\":[\"Verificando assinatura hashing com Keccak256\"],\"verificando\":[\"Verificando assinatura hashing com Keccak256\"],\"ha\":[\"Verificando assinatura hashing com Keccak256\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"has\":[\"Verificando assinatura hashing com Keccak256\"],\"hash\":[\"Verificando assinatura hashing com Keccak256\"],\"hashi\":[\"Verificando assinatura hashing com Keccak256\"],\"hashin\":[\"Verificando assinatura hashing com Keccak256\"],\"hashing\":[\"Verificando assinatura hashing com Keccak256\"],\"ata\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\",\"Ataque utilizando a técnica front running\"],\"ataq\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\",\"Ataque utilizando a técnica front running\"],\"ataqu\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\",\"Ataque utilizando a técnica front running\"],\"ataque\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\",\"Ataque utilizando a técnica front running\"],\"re\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Como realizar testes com Echidna\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como adicionar e remover liquidez com Uniswap V2\"],\"ree\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"reen\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"reent\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"reentr\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"reentra\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"reentrad\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"reentrada\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"apr\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"apre\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"apren\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"aprend\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"aprenda\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"func\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"funci\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"funcio\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"funcion\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"funciona\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"que\":[\"O que é ABI e para que serve?\"],\"abi\":[\"O que é ABI e para que serve?\"],\"ataques\":[\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\"],\"esto\":[\"Ataques com estouro de memória\"],\"estou\":[\"Ataques com estouro de memória\"],\"estour\":[\"Ataques com estouro de memória\"],\"estouro\":[\"Ataques com estouro de memória\"],\"mem\":[\"Ataques com estouro de memória\"],\"ri\":[\"Ataques com estouro de memória\"],\"ria\":[\"Ataques com estouro de memória\"],\"ac\":[\"Acessando variáveis privadas\"],\"ace\":[\"Acessando variáveis privadas\"],\"aces\":[\"Acessando variáveis privadas\"],\"acess\":[\"Acessando variáveis privadas\"],\"acessa\":[\"Acessando variáveis privadas\"],\"acessan\":[\"Acessando variáveis privadas\"],\"acessand\":[\"Acessando variáveis privadas\"],\"acessando\":[\"Acessando variáveis privadas\"],\"priv\":[\"Acessando variáveis privadas\"],\"priva\":[\"Acessando variáveis privadas\"],\"privad\":[\"Acessando variáveis privadas\"],\"privada\":[\"Acessando variáveis privadas\"],\"privadas\":[\"Acessando variáveis privadas\"],\"rea\":[\"Como realizar testes com Echidna\",\"Como realizar Swap com Uniswap V2\"],\"real\":[\"Como realizar testes com Echidna\",\"Como realizar Swap com Uniswap V2\"],\"reali\":[\"Como realizar testes com Echidna\",\"Como realizar Swap com Uniswap V2\"],\"realiz\":[\"Como realizar testes com Echidna\",\"Como realizar Swap com Uniswap V2\"],\"realiza\":[\"Como realizar testes com Echidna\",\"Como realizar Swap com Uniswap V2\"],\"realizar\":[\"Como realizar testes com Echidna\",\"Como realizar Swap com Uniswap V2\"],\"te\":[\"Como realizar testes com Echidna\"],\"tes\":[\"Como realizar testes com Echidna\"],\"test\":[\"Como realizar testes com Echidna\"],\"teste\":[\"Como realizar testes com Echidna\"],\"testes\":[\"Como realizar testes com Echidna\"],\"au\":[\"Ataques com Auto-destruição\"],\"aut\":[\"Ataques com Auto-destruição\"],\"auto\":[\"Ataques com Auto-destruição\"],\"dest\":[\"Ataques com Auto-destruição\"],\"destr\":[\"Ataques com Auto-destruição\"],\"destru\":[\"Ataques com Auto-destruição\"],\"destrui\":[\"Ataques com Auto-destruição\"],\"fon\":[\"Fonte de Aleatoriedade\"],\"font\":[\"Fonte de Aleatoriedade\"],\"fonte\":[\"Fonte de Aleatoriedade\"],\"al\":[\"Fonte de Aleatoriedade\"],\"ale\":[\"Fonte de Aleatoriedade\"],\"alea\":[\"Fonte de Aleatoriedade\"],\"aleat\":[\"Fonte de Aleatoriedade\"],\"aleato\":[\"Fonte de Aleatoriedade\"],\"aleator\":[\"Fonte de Aleatoriedade\"],\"aleatori\":[\"Fonte de Aleatoriedade\"],\"aleatorie\":[\"Fonte de Aleatoriedade\"],\"aleatoried\":[\"Fonte de Aleatoriedade\"],\"aleatorieda\":[\"Fonte de Aleatoriedade\"],\"aleatoriedad\":[\"Fonte de Aleatoriedade\"],\"aleatoriedade\":[\"Fonte de Aleatoriedade\"],\"inu\":[\"Inutilizar um contrato através da negação de serviço\"],\"inut\":[\"Inutilizar um contrato através da negação de serviço\"],\"inuti\":[\"Inutilizar um contrato através da negação de serviço\"],\"inutil\":[\"Inutilizar um contrato através da negação de serviço\"],\"inutili\":[\"Inutilizar um contrato através da negação de serviço\"],\"inutiliz\":[\"Inutilizar um contrato através da negação de serviço\"],\"inutiliza\":[\"Inutilizar um contrato através da negação de serviço\"],\"inutilizar\":[\"Inutilizar um contrato através da negação de serviço\"],\"neg\":[\"Inutilizar um contrato através da negação de serviço\"],\"nega\":[\"Inutilizar um contrato através da negação de serviço\"],\"ph\":[\"Phishing com tx.origin\"],\"phi\":[\"Phishing com tx.origin\"],\"phis\":[\"Phishing com tx.origin\"],\"phish\":[\"Phishing com tx.origin\"],\"phishi\":[\"Phishing com tx.origin\"],\"phishin\":[\"Phishing com tx.origin\"],\"phishing\":[\"Phishing com tx.origin\"],\"tx\":[\"Phishing com tx.origin\"],\"or\":[\"Phishing com tx.origin\"],\"ori\":[\"Phishing com tx.origin\"],\"orig\":[\"Phishing com tx.origin\"],\"origi\":[\"Phishing com tx.origin\"],\"origin\":[\"Phishing com tx.origin\"],\"mal\":[\"Como um contrato malicioso esconde seu script\"],\"mali\":[\"Como um contrato malicioso esconde seu script\"],\"malic\":[\"Como um contrato malicioso esconde seu script\"],\"malici\":[\"Como um contrato malicioso esconde seu script\"],\"malicio\":[\"Como um contrato malicioso esconde seu script\"],\"malicios\":[\"Como um contrato malicioso esconde seu script\"],\"malicioso\":[\"Como um contrato malicioso esconde seu script\"],\"esc\":[\"Como um contrato malicioso esconde seu script\"],\"esco\":[\"Como um contrato malicioso esconde seu script\"],\"escon\":[\"Como um contrato malicioso esconde seu script\"],\"escond\":[\"Como um contrato malicioso esconde seu script\"],\"esconde\":[\"Como um contrato malicioso esconde seu script\"],\"seu\":[\"Como um contrato malicioso esconde seu script\"],\"uma\":[\"Criar uma armadilha para hackers com a técnica honeypot\",\"Como criar uma soma constante AMM\"],\"armad\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"armadi\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"armadil\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"armadilh\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"armadilha\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"hac\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"hack\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"hacke\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"hacker\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"hackers\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"ut\":[\"Ataque utilizando a técnica front running\"],\"uti\":[\"Ataque utilizando a técnica front running\"],\"util\":[\"Ataque utilizando a técnica front running\"],\"utili\":[\"Ataque utilizando a técnica front running\"],\"utiliz\":[\"Ataque utilizando a técnica front running\"],\"utiliza\":[\"Ataque utilizando a técnica front running\"],\"utilizan\":[\"Ataque utilizando a técnica front running\"],\"utilizand\":[\"Ataque utilizando a técnica front running\"],\"utilizando\":[\"Ataque utilizando a técnica front running\"],\"cn\":[\"Ataque utilizando a técnica front running\"],\"cni\":[\"Ataque utilizando a técnica front running\"],\"cnic\":[\"Ataque utilizando a técnica front running\"],\"cnica\":[\"Ataque utilizando a técnica front running\"],\"fr\":[\"Ataque utilizando a técnica front running\"],\"fro\":[\"Ataque utilizando a técnica front running\"],\"fron\":[\"Ataque utilizando a técnica front running\"],\"front\":[\"Ataque utilizando a técnica front running\"],\"man\":[\"Manipulando o timestamp do bloco na blockchain\"],\"mani\":[\"Manipulando o timestamp do bloco na blockchain\"],\"manip\":[\"Manipulando o timestamp do bloco na blockchain\"],\"manipu\":[\"Manipulando o timestamp do bloco na blockchain\"],\"manipul\":[\"Manipulando o timestamp do bloco na blockchain\"],\"manipula\":[\"Manipulando o timestamp do bloco na blockchain\"],\"manipulan\":[\"Manipulando o timestamp do bloco na blockchain\"],\"manipuland\":[\"Manipulando o timestamp do bloco na blockchain\"],\"manipulando\":[\"Manipulando o timestamp do bloco na blockchain\"],\"tim\":[\"Manipulando o timestamp do bloco na blockchain\"],\"time\":[\"Manipulando o timestamp do bloco na blockchain\"],\"times\":[\"Manipulando o timestamp do bloco na blockchain\"],\"timest\":[\"Manipulando o timestamp do bloco na blockchain\"],\"timesta\":[\"Manipulando o timestamp do bloco na blockchain\"],\"timestam\":[\"Manipulando o timestamp do bloco na blockchain\"],\"timestamp\":[\"Manipulando o timestamp do bloco na blockchain\"],\"bloc\":[\"Manipulando o timestamp do bloco na blockchain\"],\"bloco\":[\"Manipulando o timestamp do bloco na blockchain\"],\"sw\":[\"Como realizar Swap com Uniswap V2\"],\"swa\":[\"Como realizar Swap com Uniswap V2\"],\"swap\":[\"Como realizar Swap com Uniswap V2\"],\"rep\":[\"Repetição de assinatura\"],\"repe\":[\"Repetição de assinatura\"],\"repet\":[\"Repetição de assinatura\"],\"repeti\":[\"Repetição de assinatura\"],\"ig\":[\"Como ignorar a verificação do tamanho do contrato\"],\"ign\":[\"Como ignorar a verificação do tamanho do contrato\"],\"igno\":[\"Como ignorar a verificação do tamanho do contrato\"],\"ignor\":[\"Como ignorar a verificação do tamanho do contrato\"],\"ignora\":[\"Como ignorar a verificação do tamanho do contrato\"],\"ignorar\":[\"Como ignorar a verificação do tamanho do contrato\"],\"forn\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"forne\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"fornec\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"forneci\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"fornecim\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"fornecime\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"fornecimen\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"forneciment\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"fornecimento\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"un\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"uni\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"unil\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"unila\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"unilat\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"unilate\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"unilater\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"unilatera\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"unilateral\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"id\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"ide\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"idea\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"ideal\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"unis\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"unisw\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"uniswa\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"uniswap\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"ad\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"adi\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"adic\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"adici\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"adicio\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"adicion\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"adiciona\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"adicionar\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"rem\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"remo\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"remov\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"remove\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"remover\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"liq\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"liqu\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"liqui\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"liquid\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"liquide\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"liquidez\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"pre\":[\"Como criar um sistema de preços Oracle\"],\"exe\":[\"Exemplos de uso do Uniswap V3\"],\"exem\":[\"Exemplos de uso do Uniswap V3\"],\"exemp\":[\"Exemplos de uso do Uniswap V3\"],\"exempl\":[\"Exemplos de uso do Uniswap V3\"],\"exemplo\":[\"Exemplos de uso do Uniswap V3\"],\"exemplos\":[\"Exemplos de uso do Uniswap V3\"],\"us\":[\"Exemplos de uso do Uniswap V3\"],\"uso\":[\"Exemplos de uso do Uniswap V3\"],\"sta\":[\"Como criar um sistema de Staking de Recompensas\"],\"stak\":[\"Como criar um sistema de Staking de Recompensas\"],\"staki\":[\"Como criar um sistema de Staking de Recompensas\"],\"stakin\":[\"Como criar um sistema de Staking de Recompensas\"],\"staking\":[\"Como criar um sistema de Staking de Recompensas\"],\"prod\":[\"Como criar um produto constante AMM\"],\"produ\":[\"Como criar um produto constante AMM\"],\"produt\":[\"Como criar um produto constante AMM\"],\"produto\":[\"Como criar um produto constante AMM\"],\"so\":[\"Como criar uma soma constante AMM\"],\"som\":[\"Como criar uma soma constante AMM\"],\"soma\":[\"Como criar uma soma constante AMM\"]},{\"ar\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"If, Else, For e While\",\"Criar um Canal de pagamento unidirecional\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"art\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"arti\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"artig\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"artigo\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"i\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"ir\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"ire\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"irem\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"iremo\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"iremos\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"ap\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"apr\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"apre\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"apren\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"aprend\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"aprende\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"aprender\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"cr\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Pré-computar endereço do Contrato com Create2\",\"Meu primeiro aplicativo\"],\"cri\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Meu primeiro aplicativo\"],\"cria\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Meu primeiro aplicativo\"],\"criar\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Meu primeiro aplicativo\"],\"u\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Entendendo as Variáveis\",\"Criar contrato para Multichamada de funções\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Como adicionar e remover liquidez com Uniswap V2\"],\"um\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Entendendo as Variáveis\",\"Criar contrato para Multichamada de funções\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"uma\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Verificando assinatura hashing com Keccak256\",\"O que é ABI e para que serve?\",\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"q\":[\"Carteira com Multi-Assinaturas\",\"Trabalhando com Proxy\",\"Import e Libraries, para que servem?\"],\"qu\":[\"Carteira com Multi-Assinaturas\",\"Trabalhando com Proxy\",\"Import e Libraries, para que servem?\"],\"que\":[\"Carteira com Multi-Assinaturas\",\"Trabalhando com Proxy\",\"Import e Libraries, para que servem?\"],\"ac\":[\"Carteira com Multi-Assinaturas\",\"Entendendo as Variáveis\",\"Chamada de função delegatecall\"],\"ace\":[\"Carteira com Multi-Assinaturas\",\"Entendendo as Variáveis\",\"Chamada de função delegatecall\"],\"acei\":[\"Carteira com Multi-Assinaturas\"],\"aceit\":[\"Carteira com Multi-Assinaturas\"],\"aceita\":[\"Carteira com Multi-Assinaturas\"],\"l\":[\"Carteira com Multi-Assinaturas\",\"Entendendo as Variáveis\",\"If, Else, For e While\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"lt\":[\"Carteira com Multi-Assinaturas\"],\"lti\":[\"Carteira com Multi-Assinaturas\"],\"ltip\":[\"Carteira com Multi-Assinaturas\"],\"ltipl\":[\"Carteira com Multi-Assinaturas\"],\"ltipla\":[\"Carteira com Multi-Assinaturas\"],\"ltiplas\":[\"Carteira com Multi-Assinaturas\"],\"no\":[\"Carteira com Multi-Assinaturas\",\"Meu primeiro aplicativo\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\"],\"e\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Trabalhando com Proxy\",\"Criar um sistema de leilão inglês e holandês\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Como realizar testes com Echidna\",\"Chamada de função delegatecall\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como criar um sistema de Swap estável AMM\"],\"en\":[\"Carteira com Multi-Assinaturas\",\"If, Else, For e While\"],\"env\":[\"Carteira com Multi-Assinaturas\"],\"envi\":[\"Carteira com Multi-Assinaturas\"],\"envio\":[\"Carteira com Multi-Assinaturas\"],\"da\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Ether, Wei e Taxa de Gas\",\"If, Else, For e While\",\"Enviar Ether com transfer, send e call\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Fonte de Aleatoriedade\",\"Repetição de assinatura\"],\"tr\":[\"Carteira com Multi-Assinaturas\",\"Ether, Wei e Taxa de Gas\",\"Funções e Modificadores\"],\"tra\":[\"Carteira com Multi-Assinaturas\",\"Ether, Wei e Taxa de Gas\",\"Funções e Modificadores\"],\"tran\":[\"Carteira com Multi-Assinaturas\",\"Ether, Wei e Taxa de Gas\",\"Tratamento de erros de condições e exceções\"],\"trans\":[\"Carteira com Multi-Assinaturas\",\"Ether, Wei e Taxa de Gas\",\"Tratamento de erros de condições e exceções\"],\"transa\":[\"Carteira com Multi-Assinaturas\",\"Ether, Wei e Taxa de Gas\",\"Tratamento de erros de condições e exceções\"],\"a\":[\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"If, Else, For e While\",\"Criar um Canal de pagamento unidirecional\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Como realizar testes com Echidna\",\"Chamada de função delegatecall\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"c\":[\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Import e Libraries, para que servem?\",\"Acessando variáveis privadas\",\"Fonte de Aleatoriedade\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Exemplos de uso do Uniswap V3\"],\"apl\":[\"Árvore de Merkle\",\"Mapeamento Iterável\"],\"apli\":[\"Árvore de Merkle\",\"Mapeamento Iterável\"],\"aplic\":[\"Árvore de Merkle\",\"Mapeamento Iterável\"],\"aplica\":[\"Árvore de Merkle\",\"Mapeamento Iterável\"],\"o\":[\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Trabalhando com Proxy\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\",\"Tratamento de erros de condições e exceções\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\",\"Como criar um sistema de preços Oracle\"],\"ut\":[\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Repetição de assinatura\"],\"uti\":[\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Repetição de assinatura\"],\"util\":[\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Repetição de assinatura\"],\"utili\":[\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Repetição de assinatura\"],\"utiliz\":[\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Repetição de assinatura\"],\"utiliza\":[\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Repetição de assinatura\"],\"utilizan\":[\"Árvore de Merkle\",\"Mapeamento Iterável\"],\"utilizand\":[\"Árvore de Merkle\",\"Mapeamento Iterável\"],\"utilizando\":[\"Árvore de Merkle\",\"Mapeamento Iterável\"],\"es\":[\"Árvore de Merkle\",\"Ether, Wei e Taxa de Gas\",\"Criar contrato para Multichamada de funções\",\"If, Else, For e While\",\"Enviar Ether com transfer, send e call\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Como criar um sistema de Swap estável AMM\"],\"est\":[\"Árvore de Merkle\",\"Como criar um sistema de Swap estável AMM\"],\"estr\":[\"Árvore de Merkle\"],\"estru\":[\"Árvore de Merkle\"],\"estrut\":[\"Árvore de Merkle\"],\"estrutu\":[\"Árvore de Merkle\"],\"estrutur\":[\"Árvore de Merkle\"],\"estrutura\":[\"Árvore de Merkle\"],\"n\":[\"Carteira de Tokens\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Estruturas - Struct\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"ne\":[\"Carteira de Tokens\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Estruturas - Struct\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"nes\":[\"Carteira de Tokens\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Estruturas - Struct\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"ness\":[\"Carteira de Tokens\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Estruturas - Struct\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"nesse\":[\"Carteira de Tokens\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Estruturas - Struct\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"at\":[\"Carteira de Tokens\",\"Enviar Ether com transfer, send e call\",\"Fonte de Aleatoriedade\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"atr\":[\"Carteira de Tokens\",\"Enviar Ether com transfer, send e call\",\"Fonte de Aleatoriedade\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"atra\":[\"Carteira de Tokens\",\"Enviar Ether com transfer, send e call\",\"Fonte de Aleatoriedade\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"atrav\":[\"Carteira de Tokens\",\"Enviar Ether com transfer, send e call\",\"Fonte de Aleatoriedade\"],\"d\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Como implantar qualquer contrato com Proxy\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"O que é ABI e para que serve?\",\"Como realizar testes com Echidna\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"de\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"O que é ABI e para que serve?\",\"Como realizar testes com Echidna\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"des\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Como realizar testes com Echidna\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"desc\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"descr\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"descri\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"descrip\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"descript\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"descripti\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"descriptio\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"description\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"co\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Ether, Wei e Taxa de Gas\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Import e Libraries, para que servem?\",\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Exemplos de uso do Uniswap V3\"],\"com\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Ether, Wei e Taxa de Gas\",\"Criar contrato para Multichamada de funções\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Import e Libraries, para que servem?\",\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Exemplos de uso do Uniswap V3\"],\"como\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Ether, Wei e Taxa de Gas\",\"Criar contrato para Multichamada de funções\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Exemplos de uso do Uniswap V3\"],\"pa\":[\"Trabalhando com Proxy\",\"Ether, Wei e Taxa de Gas\",\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\"],\"par\":[\"Trabalhando com Proxy\",\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\"],\"para\":[\"Trabalhando com Proxy\",\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\"],\"el\":[\"Trabalhando com Proxy\",\"Enum - Enumeradores\"],\"ele\":[\"Trabalhando com Proxy\",\"Enum - Enumeradores\"],\"s\":[\"Trabalhando com Proxy\",\"Como gravar dados em qualquer slot\",\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Tratamento de erros de condições e exceções\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"O que é ABI e para que serve?\",\"Fonte de Aleatoriedade\"],\"se\":[\"Trabalhando com Proxy\",\"Ether, Wei e Taxa de Gas\",\"Criar um contrato através de outro contrato\",\"Import e Libraries, para que servem?\",\"O que é ABI e para que serve?\",\"Inutilizar um contrato através da negação de serviço\"],\"ser\":[\"Trabalhando com Proxy\",\"Import e Libraries, para que servem?\",\"O que é ABI e para que serve?\",\"Inutilizar um contrato através da negação de serviço\"],\"serv\":[\"Trabalhando com Proxy\",\"Import e Libraries, para que servem?\",\"O que é ABI e para que serve?\",\"Inutilizar um contrato através da negação de serviço\"],\"serve\":[\"Trabalhando com Proxy\",\"Import e Libraries, para que servem?\",\"O que é ABI e para que serve?\"],\"server\":[\"Trabalhando com Proxy\"],\"na\":[\"Trabalhando com Proxy\",\"Ether, Wei e Taxa de Gas\",\"Armazenamento de Dados\",\"Manipulando o timestamp do bloco na blockchain\"],\"con\":[\"Pré-computar endereço do Contrato com Create2\",\"Ether, Wei e Taxa de Gas\",\"If, Else, For e While\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"cont\":[\"Pré-computar endereço do Contrato com Create2\",\"Ether, Wei e Taxa de Gas\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"contr\":[\"Pré-computar endereço do Contrato com Create2\",\"Ether, Wei e Taxa de Gas\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"contra\":[\"Pré-computar endereço do Contrato com Create2\",\"Ether, Wei e Taxa de Gas\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"contrat\":[\"Pré-computar endereço do Contrato com Create2\",\"Ether, Wei e Taxa de Gas\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"contrato\":[\"Pré-computar endereço do Contrato com Create2\",\"Ether, Wei e Taxa de Gas\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"cre\":[\"Pré-computar endereço do Contrato com Create2\"],\"crea\":[\"Pré-computar endereço do Contrato com Create2\"],\"creat\":[\"Pré-computar endereço do Contrato com Create2\"],\"create\":[\"Pré-computar endereço do Contrato com Create2\"],\"create2\":[\"Pré-computar endereço do Contrato com Create2\"],\"sl\":[\"Como gravar dados em qualquer slot\"],\"slo\":[\"Como gravar dados em qualquer slot\"],\"slot\":[\"Como gravar dados em qualquer slot\"],\"do\":[\"Como gravar dados em qualquer slot\",\"Enum - Enumeradores\",\"Estruturas - Struct\",\"Criar um contrato através de outro contrato\",\"Como ignorar a verificação do tamanho do contrato\",\"Exemplos de uso do Uniswap V3\"],\"p\":[\"Como implantar qualquer contrato com Proxy\",\"Entendendo as Variáveis\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"pr\":[\"Como implantar qualquer contrato com Proxy\"],\"pro\":[\"Como implantar qualquer contrato com Proxy\"],\"prox\":[\"Como implantar qualquer contrato com Proxy\"],\"proxy\":[\"Como implantar qualquer contrato com Proxy\"],\"b\":[\"Criar um Canal de pagamento bidirecional\",\"Ether, Wei e Taxa de Gas\",\"Armazenamento de Dados\"],\"bi\":[\"Criar um Canal de pagamento bidirecional\"],\"bid\":[\"Criar um Canal de pagamento bidirecional\"],\"bidi\":[\"Criar um Canal de pagamento bidirecional\"],\"bidir\":[\"Criar um Canal de pagamento bidirecional\"],\"bidire\":[\"Criar um Canal de pagamento bidirecional\"],\"bidirec\":[\"Criar um Canal de pagamento bidirecional\"],\"bidireci\":[\"Criar um Canal de pagamento bidirecional\"],\"bidirecio\":[\"Criar um Canal de pagamento bidirecional\"],\"bidirecion\":[\"Criar um Canal de pagamento bidirecional\"],\"bidireciona\":[\"Criar um Canal de pagamento bidirecional\"],\"bidirecional\":[\"Criar um Canal de pagamento bidirecional\"],\"h\":[\"Criar um sistema de leilão inglês e holandês\",\"Ether, Wei e Taxa de Gas\"],\"ho\":[\"Criar um sistema de leilão inglês e holandês\",\"Ether, Wei e Taxa de Gas\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"hol\":[\"Criar um sistema de leilão inglês e holandês\"],\"hola\":[\"Criar um sistema de leilão inglês e holandês\"],\"holan\":[\"Criar um sistema de leilão inglês e holandês\"],\"holand\":[\"Criar um sistema de leilão inglês e holandês\"],\"f\":[\"Entendendo as Variáveis\",\"Criar contrato para Multichamada de funções\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\"],\"fa\":[\"Entendendo as Variáveis\"],\"fal\":[\"Entendendo as Variáveis\"],\"fala\":[\"Entendendo as Variáveis\"],\"falar\":[\"Entendendo as Variáveis\"],\"po\":[\"Entendendo as Variáveis\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"pou\":[\"Entendendo as Variáveis\"],\"pouc\":[\"Entendendo as Variáveis\"],\"pouco\":[\"Entendendo as Variáveis\"],\"so\":[\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Enum - Enumeradores\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"O que é ABI e para que serve?\"],\"sob\":[\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"O que é ABI e para que serve?\"],\"sobr\":[\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"O que é ABI e para que serve?\"],\"sobre\":[\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"O que é ABI e para que serve?\"],\"os\":[\"Entendendo as Variáveis\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Tratamento de erros de condições e exceções\",\"Como criar um sistema de preços Oracle\"],\"tip\":[\"Entendendo as Variáveis\"],\"tipo\":[\"Entendendo as Variáveis\"],\"tipos\":[\"Entendendo as Variáveis\"],\"aces\":[\"Entendendo as Variáveis\",\"Chamada de função delegatecall\"],\"acess\":[\"Entendendo as Variáveis\",\"Chamada de função delegatecall\"],\"la\":[\"Entendendo as Variáveis\"],\"las\":[\"Entendendo as Variáveis\"],\"on\":[\"Entendendo as Variáveis\",\"Meu primeiro aplicativo\"],\"ond\":[\"Entendendo as Variáveis\",\"Meu primeiro aplicativo\"],\"onde\":[\"Entendendo as Variáveis\",\"Meu primeiro aplicativo\"],\"col\":[\"Criar um sistema de financiamento coletivo\"],\"cole\":[\"Criar um sistema de financiamento coletivo\"],\"colet\":[\"Criar um sistema de financiamento coletivo\"],\"coleti\":[\"Criar um sistema de financiamento coletivo\"],\"coletiv\":[\"Criar um sistema de financiamento coletivo\"],\"coletivo\":[\"Criar um sistema de financiamento coletivo\"],\"te\":[\"Criar um contrato com bloqueio de tempo\"],\"tem\":[\"Criar um contrato com bloqueio de tempo\"],\"temp\":[\"Criar um contrato com bloqueio de tempo\"],\"tempo\":[\"Criar um contrato com bloqueio de tempo\"],\"as\":[\"Ether, Wei e Taxa de Gas\",\"If, Else, For e While\",\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Chamada de função delegatecall\"],\"taxas\":[\"Ether, Wei e Taxa de Gas\"],\"bl\":[\"Ether, Wei e Taxa de Gas\",\"Armazenamento de Dados\"],\"blo\":[\"Ether, Wei e Taxa de Gas\",\"Armazenamento de Dados\"],\"bloc\":[\"Ether, Wei e Taxa de Gas\",\"Armazenamento de Dados\"],\"block\":[\"Ether, Wei e Taxa de Gas\",\"Armazenamento de Dados\",\"Manipulando o timestamp do bloco na blockchain\"],\"blockc\":[\"Ether, Wei e Taxa de Gas\",\"Armazenamento de Dados\",\"Manipulando o timestamp do bloco na blockchain\"],\"blockch\":[\"Ether, Wei e Taxa de Gas\",\"Armazenamento de Dados\",\"Manipulando o timestamp do bloco na blockchain\"],\"blockcha\":[\"Ether, Wei e Taxa de Gas\",\"Armazenamento de Dados\",\"Manipulando o timestamp do bloco na blockchain\"],\"blockchai\":[\"Ether, Wei e Taxa de Gas\",\"Armazenamento de Dados\",\"Manipulando o timestamp do bloco na blockchain\"],\"blockchain\":[\"Ether, Wei e Taxa de Gas\",\"Armazenamento de Dados\",\"Manipulando o timestamp do bloco na blockchain\"],\"ec\":[\"Ether, Wei e Taxa de Gas\",\"Como realizar testes com Echidna\"],\"eco\":[\"Ether, Wei e Taxa de Gas\"],\"econ\":[\"Ether, Wei e Taxa de Gas\"],\"econo\":[\"Ether, Wei e Taxa de Gas\"],\"econom\":[\"Ether, Wei e Taxa de Gas\"],\"economi\":[\"Ether, Wei e Taxa de Gas\"],\"economiz\":[\"Ether, Wei e Taxa de Gas\"],\"economiza\":[\"Ether, Wei e Taxa de Gas\"],\"economizar\":[\"Ether, Wei e Taxa de Gas\"],\"hor\":[\"Ether, Wei e Taxa de Gas\"],\"hora\":[\"Ether, Wei e Taxa de Gas\"],\"esc\":[\"Ether, Wei e Taxa de Gas\"],\"escr\":[\"Ether, Wei e Taxa de Gas\"],\"escre\":[\"Ether, Wei e Taxa de Gas\"],\"escrev\":[\"Ether, Wei e Taxa de Gas\"],\"escreve\":[\"Ether, Wei e Taxa de Gas\"],\"escrever\":[\"Ether, Wei e Taxa de Gas\"],\"seu\":[\"Ether, Wei e Taxa de Gas\",\"Criar um contrato através de outro contrato\"],\"in\":[\"Ether, Wei e Taxa de Gas\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"int\":[\"Ether, Wei e Taxa de Gas\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"inte\":[\"Ether, Wei e Taxa de Gas\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"intel\":[\"Ether, Wei e Taxa de Gas\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"inteli\":[\"Ether, Wei e Taxa de Gas\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"intelig\":[\"Ether, Wei e Taxa de Gas\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"intelige\":[\"Ether, Wei e Taxa de Gas\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"inteligen\":[\"Ether, Wei e Taxa de Gas\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"inteligent\":[\"Ether, Wei e Taxa de Gas\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"inteligente\":[\"Ether, Wei e Taxa de Gas\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"r\":[\"Ether, Wei e Taxa de Gas\",\"Funções e Modificadores\",\"Phishing com tx.origin\",\"Ataque utilizando a técnica front running\",\"Como criar um sistema de Staking de Recompensas\"],\"re\":[\"Ether, Wei e Taxa de Gas\",\"Phishing com tx.origin\",\"Como criar um sistema de Staking de Recompensas\"],\"red\":[\"Ether, Wei e Taxa de Gas\"],\"rede\":[\"Ether, Wei e Taxa de Gas\"],\"ethere\":[\"Ether, Wei e Taxa de Gas\"],\"ethereu\":[\"Ether, Wei e Taxa de Gas\"],\"ethereum\":[\"Ether, Wei e Taxa de Gas\"],\"pag\":[\"Ether, Wei e Taxa de Gas\"],\"paga\":[\"Ether, Wei e Taxa de Gas\"],\"pagas\":[\"Ether, Wei e Taxa de Gas\"],\"ass\":[\"Ether, Wei e Taxa de Gas\"],\"assi\":[\"Ether, Wei e Taxa de Gas\"],\"assim\":[\"Ether, Wei e Taxa de Gas\"],\"fu\":[\"Criar contrato para Multichamada de funções\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\",\"Enviar Ether com transfer, send e call\",\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"fun\":[\"Criar contrato para Multichamada de funções\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\",\"Enviar Ether com transfer, send e call\",\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"ex\":[\"Meu primeiro aplicativo\"],\"exe\":[\"Meu primeiro aplicativo\"],\"exem\":[\"Meu primeiro aplicativo\"],\"exemp\":[\"Meu primeiro aplicativo\"],\"exempl\":[\"Meu primeiro aplicativo\"],\"exemplo\":[\"Meu primeiro aplicativo\"],\"nos\":[\"Meu primeiro aplicativo\"],\"noss\":[\"Meu primeiro aplicativo\"],\"nosso\":[\"Meu primeiro aplicativo\"],\"ob\":[\"Meu primeiro aplicativo\"],\"obt\":[\"Meu primeiro aplicativo\"],\"obte\":[\"Meu primeiro aplicativo\"],\"obter\":[\"Meu primeiro aplicativo\"],\"inc\":[\"Meu primeiro aplicativo\"],\"incr\":[\"Meu primeiro aplicativo\"],\"incre\":[\"Meu primeiro aplicativo\"],\"increm\":[\"Meu primeiro aplicativo\"],\"increme\":[\"Meu primeiro aplicativo\"],\"incremen\":[\"Meu primeiro aplicativo\"],\"increment\":[\"Meu primeiro aplicativo\"],\"incrementa\":[\"Meu primeiro aplicativo\"],\"incrementar\":[\"Meu primeiro aplicativo\"],\"ent\":[\"If, Else, For e While\"],\"ente\":[\"If, Else, For e While\"],\"enten\":[\"If, Else, For e While\"],\"entend\":[\"If, Else, For e While\"],\"entenda\":[\"If, Else, For e While\"],\"func\":[\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\"],\"funci\":[\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\"],\"funcio\":[\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\"],\"funcion\":[\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\"],\"funciona\":[\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\"],\"funcionam\":[\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\"],\"ins\":[\"If, Else, For e While\"],\"inst\":[\"If, Else, For e While\"],\"instr\":[\"If, Else, For e While\"],\"instru\":[\"If, Else, For e While\"],\"cond\":[\"If, Else, For e While\"],\"condi\":[\"If, Else, For e While\"],\"condic\":[\"If, Else, For e While\"],\"condici\":[\"If, Else, For e While\"],\"condicio\":[\"If, Else, For e While\"],\"condicion\":[\"If, Else, For e While\"],\"condiciona\":[\"If, Else, For e While\"],\"condicionai\":[\"If, Else, For e While\"],\"condicionais\":[\"If, Else, For e While\"],\"lo\":[\"If, Else, For e While\"],\"loo\":[\"If, Else, For e While\"],\"loop\":[\"If, Else, For e While\"],\"loops\":[\"If, Else, For e While\"],\"ab\":[\"If, Else, For e While\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\"],\"abo\":[\"If, Else, For e While\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"O que é ABI e para que serve?\"],\"abor\":[\"If, Else, For e While\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"O que é ABI e para que serve?\"],\"abord\":[\"If, Else, For e While\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"O que é ABI e para que serve?\"],\"aborda\":[\"If, Else, For e While\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"O que é ABI e para que serve?\"],\"abordar\":[\"If, Else, For e While\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"O que é ABI e para que serve?\"],\"funcioname\":[\"If, Else, For e While\",\"Enum - Enumeradores\",\"Estruturas - Struct\"],\"funcionamen\":[\"If, Else, For e While\",\"Enum - Enumeradores\",\"Estruturas - Struct\"],\"funcionament\":[\"If, Else, For e While\",\"Enum - Enumeradores\",\"Estruturas - Struct\"],\"funcionamento\":[\"If, Else, For e While\",\"Enum - Enumeradores\",\"Estruturas - Struct\"],\"das\":[\"If, Else, For e While\",\"Enviar Ether com transfer, send e call\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Fonte de Aleatoriedade\"],\"sol\":[\"Enum - Enumeradores\"],\"soli\":[\"Enum - Enumeradores\"],\"solid\":[\"Enum - Enumeradores\"],\"solidi\":[\"Enum - Enumeradores\"],\"solidit\":[\"Enum - Enumeradores\"],\"solidity\":[\"Enum - Enumeradores\"],\"su\":[\"Enum - Enumeradores\"],\"sup\":[\"Enum - Enumeradores\"],\"supo\":[\"Enum - Enumeradores\"],\"supor\":[\"Enum - Enumeradores\"],\"suport\":[\"Enum - Enumeradores\"],\"suporta\":[\"Enum - Enumeradores\"],\"eles\":[\"Enum - Enumeradores\"],\"m\":[\"Enum - Enumeradores\",\"Armazenamento de Dados\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Ataque utilizando a técnica front running\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"mu\":[\"Enum - Enumeradores\"],\"mui\":[\"Enum - Enumeradores\"],\"muit\":[\"Enum - Enumeradores\"],\"muito\":[\"Enum - Enumeradores\"],\"un\":[\"Criar um Canal de pagamento unidirecional\",\"Como realizar Swap com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Exemplos de uso do Uniswap V3\"],\"uni\":[\"Criar um Canal de pagamento unidirecional\",\"Como realizar Swap com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Exemplos de uso do Uniswap V3\"],\"unid\":[\"Criar um Canal de pagamento unidirecional\"],\"unidi\":[\"Criar um Canal de pagamento unidirecional\"],\"unidir\":[\"Criar um Canal de pagamento unidirecional\"],\"unidire\":[\"Criar um Canal de pagamento unidirecional\"],\"unidirec\":[\"Criar um Canal de pagamento unidirecional\"],\"unidireci\":[\"Criar um Canal de pagamento unidirecional\"],\"unidirecio\":[\"Criar um Canal de pagamento unidirecional\"],\"unidirecion\":[\"Criar um Canal de pagamento unidirecional\"],\"unidireciona\":[\"Criar um Canal de pagamento unidirecional\"],\"unidirecional\":[\"Criar um Canal de pagamento unidirecional\"],\"di\":[\"Armazenamento de Dados\"],\"div\":[\"Armazenamento de Dados\"],\"dive\":[\"Armazenamento de Dados\"],\"diver\":[\"Armazenamento de Dados\"],\"divers\":[\"Armazenamento de Dados\"],\"diversa\":[\"Armazenamento de Dados\"],\"diversas\":[\"Armazenamento de Dados\"],\"ma\":[\"Armazenamento de Dados\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Ataque utilizando a técnica front running\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"man\":[\"Armazenamento de Dados\"],\"mane\":[\"Armazenamento de Dados\"],\"manei\":[\"Armazenamento de Dados\"],\"maneir\":[\"Armazenamento de Dados\"],\"maneira\":[\"Armazenamento de Dados\"],\"maneiras\":[\"Armazenamento de Dados\"],\"armazenar\":[\"Armazenamento de Dados\"],\"ou\":[\"Estruturas - Struct\"],\"em\":[\"Estruturas - Struct\",\"Evento, Construtor e Herança\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"v\":[\"Funções e Modificadores\",\"Fonte de Aleatoriedade\",\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Swap estável AMM\"],\"ri\":[\"Funções e Modificadores\"],\"ria\":[\"Funções e Modificadores\"],\"rias\":[\"Funções e Modificadores\"],\"fo\":[\"Funções e Modificadores\",\"Tratamento de erros de condições e exceções\"],\"for\":[\"Funções e Modificadores\",\"Tratamento de erros de condições e exceções\"],\"form\":[\"Funções e Modificadores\",\"Tratamento de erros de condições e exceções\"],\"forma\":[\"Funções e Modificadores\",\"Tratamento de erros de condições e exceções\"],\"formas\":[\"Funções e Modificadores\"],\"trab\":[\"Funções e Modificadores\"],\"traba\":[\"Funções e Modificadores\"],\"trabal\":[\"Funções e Modificadores\"],\"trabalh\":[\"Funções e Modificadores\"],\"trabalha\":[\"Funções e Modificadores\"],\"trabalhar\":[\"Funções e Modificadores\"],\"emi\":[\"Evento, Construtor e Herança\"],\"emit\":[\"Evento, Construtor e Herança\"],\"emiti\":[\"Evento, Construtor e Herança\"],\"emitir\":[\"Evento, Construtor e Herança\"],\"eventos\":[\"Evento, Construtor e Herança\"],\"dec\":[\"Evento, Construtor e Herança\"],\"decl\":[\"Evento, Construtor e Herança\"],\"decla\":[\"Evento, Construtor e Herança\"],\"declar\":[\"Evento, Construtor e Herança\"],\"declara\":[\"Evento, Construtor e Herança\"],\"declarar\":[\"Evento, Construtor e Herança\"],\"construtore\":[\"Evento, Construtor e Herança\"],\"construtores\":[\"Evento, Construtor e Herança\"],\"def\":[\"Evento, Construtor e Herança\"],\"defi\":[\"Evento, Construtor e Herança\"],\"defin\":[\"Evento, Construtor e Herança\"],\"defini\":[\"Evento, Construtor e Herança\"],\"definir\":[\"Evento, Construtor e Herança\"],\"intera\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"interag\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"interagi\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"interagir\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"ca\":[\"Enviar Ether com transfer, send e call\"],\"cal\":[\"Enviar Ether com transfer, send e call\"],\"call\":[\"Enviar Ether com transfer, send e call\"],\"to\":[\"Enviar Ether com transfer, send e call\"],\"tok\":[\"Enviar Ether com transfer, send e call\"],\"toke\":[\"Enviar Ether com transfer, send e call\"],\"token\":[\"Enviar Ether com transfer, send e call\"],\"tokens\":[\"Enviar Ether com transfer, send e call\"],\"tratar\":[\"Tratamento de erros de condições e exceções\"],\"cor\":[\"Tratamento de erros de condições e exceções\"],\"corr\":[\"Tratamento de erros de condições e exceções\"],\"corre\":[\"Tratamento de erros de condições e exceções\"],\"corret\":[\"Tratamento de erros de condições e exceções\"],\"correta\":[\"Tratamento de erros de condições e exceções\"],\"nov\":[\"Criar um contrato através de outro contrato\"],\"novo\":[\"Criar um contrato através de outro contrato\"],\"servem\":[\"Import e Libraries, para que servem?\"],\"importa\":[\"Import e Libraries, para que servem?\"],\"importar\":[\"Import e Libraries, para que servem?\"],\"k\":[\"Verificando assinatura hashing com Keccak256\"],\"ke\":[\"Verificando assinatura hashing com Keccak256\"],\"kec\":[\"Verificando assinatura hashing com Keccak256\"],\"kecc\":[\"Verificando assinatura hashing com Keccak256\"],\"kecca\":[\"Verificando assinatura hashing com Keccak256\"],\"keccak\":[\"Verificando assinatura hashing com Keccak256\"],\"keccak2\":[\"Verificando assinatura hashing com Keccak256\"],\"keccak25\":[\"Verificando assinatura hashing com Keccak256\"],\"keccak256\":[\"Verificando assinatura hashing com Keccak256\"],\"verificar\":[\"Verificando assinatura hashing com Keccak256\"],\"ev\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"evi\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"evit\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"evita\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"evitar\":[\"Ataque de reentrada, aprenda como funciona e como evitar\"],\"mal\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"mali\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"malic\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"malici\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"malicio\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"malicios\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"malicioso\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"ag\":[\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\"],\"age\":[\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\"],\"acessar\":[\"Acessando variáveis privadas\",\"Chamada de função delegatecall\"],\"ech\":[\"Como realizar testes com Echidna\"],\"echi\":[\"Como realizar testes com Echidna\"],\"echid\":[\"Como realizar testes com Echidna\"],\"echidn\":[\"Como realizar testes com Echidna\"],\"echidna\":[\"Como realizar testes com Echidna\"],\"acessa\":[\"Chamada de função delegatecall\"],\"chamar\":[\"Chamada de função delegatecall\"],\"desco\":[\"Fonte de Aleatoriedade\"],\"descob\":[\"Fonte de Aleatoriedade\"],\"descobr\":[\"Fonte de Aleatoriedade\"],\"descobri\":[\"Fonte de Aleatoriedade\"],\"descobrir\":[\"Fonte de Aleatoriedade\"],\"va\":[\"Fonte de Aleatoriedade\"],\"val\":[\"Fonte de Aleatoriedade\"],\"valo\":[\"Fonte de Aleatoriedade\"],\"valor\":[\"Fonte de Aleatoriedade\"],\"servi\":[\"Inutilizar um contrato através da negação de serviço\"],\"rea\":[\"Phishing com tx.origin\"],\"real\":[\"Phishing com tx.origin\"],\"reali\":[\"Phishing com tx.origin\"],\"realiz\":[\"Phishing com tx.origin\"],\"realiza\":[\"Phishing com tx.origin\"],\"sc\":[\"Como um contrato malicioso esconde seu script\"],\"scr\":[\"Como um contrato malicioso esconde seu script\"],\"scri\":[\"Como um contrato malicioso esconde seu script\"],\"scrip\":[\"Como um contrato malicioso esconde seu script\"],\"script\":[\"Como um contrato malicioso esconde seu script\"],\"cons\":[\"Como um contrato malicioso esconde seu script\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"conse\":[\"Como um contrato malicioso esconde seu script\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\"],\"conseg\":[\"Como um contrato malicioso esconde seu script\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\"],\"consegu\":[\"Como um contrato malicioso esconde seu script\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\"],\"consegue\":[\"Como um contrato malicioso esconde seu script\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\"],\"oc\":[\"Como um contrato malicioso esconde seu script\"],\"ocu\":[\"Como um contrato malicioso esconde seu script\"],\"ocul\":[\"Como um contrato malicioso esconde seu script\"],\"ocult\":[\"Como um contrato malicioso esconde seu script\"],\"oculta\":[\"Como um contrato malicioso esconde seu script\"],\"ocultar\":[\"Como um contrato malicioso esconde seu script\"],\"cn\":[\"Criar uma armadilha para hackers com a técnica honeypot\",\"Repetição de assinatura\"],\"cni\":[\"Criar uma armadilha para hackers com a técnica honeypot\",\"Repetição de assinatura\"],\"cnic\":[\"Criar uma armadilha para hackers com a técnica honeypot\",\"Repetição de assinatura\"],\"cnica\":[\"Criar uma armadilha para hackers com a técnica honeypot\",\"Repetição de assinatura\"],\"hon\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"hone\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"honey\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"honeyp\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"honeypo\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"honeypot\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"dese\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"desen\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"desenv\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"desenvo\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"desenvol\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"desenvolv\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"desenvolve\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"desenvolver\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"atrai\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"atrair\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"ru\":[\"Ataque utilizando a técnica front running\"],\"run\":[\"Ataque utilizando a técnica front running\"],\"runn\":[\"Ataque utilizando a técnica front running\"],\"runni\":[\"Ataque utilizando a técnica front running\"],\"runnin\":[\"Ataque utilizando a técnica front running\"],\"running\":[\"Ataque utilizando a técnica front running\"],\"unis\":[\"Como realizar Swap com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Exemplos de uso do Uniswap V3\"],\"unisw\":[\"Como realizar Swap com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Exemplos de uso do Uniswap V3\"],\"uniswa\":[\"Como realizar Swap com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Exemplos de uso do Uniswap V3\"],\"uniswap\":[\"Como realizar Swap com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Exemplos de uso do Uniswap V3\"],\"v2\":[\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\"],\"utilizar\":[\"Repetição de assinatura\"],\"ta\":[\"Como ignorar a verificação do tamanho do contrato\"],\"tam\":[\"Como ignorar a verificação do tamanho do contrato\"],\"tama\":[\"Como ignorar a verificação do tamanho do contrato\"],\"taman\":[\"Como ignorar a verificação do tamanho do contrato\"],\"tamanh\":[\"Como ignorar a verificação do tamanho do contrato\"],\"tamanho\":[\"Como ignorar a verificação do tamanho do contrato\"],\"ad\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"adi\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"adic\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"adici\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"adicio\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"adicion\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"adiciona\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"adicionar\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"li\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"liq\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"liqu\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"liqui\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"liquid\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"liquide\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"liquidez\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"poo\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"pool\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"or\":[\"Como criar um sistema de preços Oracle\"],\"ora\":[\"Como criar um sistema de preços Oracle\"],\"orac\":[\"Como criar um sistema de preços Oracle\"],\"oracl\":[\"Como criar um sistema de preços Oracle\"],\"oracle\":[\"Como criar um sistema de preços Oracle\"],\"v3\":[\"Exemplos de uso do Uniswap V3\"],\"cof\":[\"Como criar um sistema de Cofre\"],\"cofr\":[\"Como criar um sistema de Cofre\"],\"cofre\":[\"Como criar um sistema de Cofre\"],\"rec\":[\"Como criar um sistema de Staking de Recompensas\"],\"reco\":[\"Como criar um sistema de Staking de Recompensas\"],\"recom\":[\"Como criar um sistema de Staking de Recompensas\"],\"recomp\":[\"Como criar um sistema de Staking de Recompensas\"],\"recompe\":[\"Como criar um sistema de Staking de Recompensas\"],\"recompen\":[\"Como criar um sistema de Staking de Recompensas\"],\"recompens\":[\"Como criar um sistema de Staking de Recompensas\"],\"recompensa\":[\"Como criar um sistema de Staking de Recompensas\"],\"recompensas\":[\"Como criar um sistema de Staking de Recompensas\"],\"const\":[\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"consta\":[\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"constan\":[\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"constant\":[\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"constante\":[\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"am\":[\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"amm\":[\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"sw\":[\"Como criar um sistema de Swap estável AMM\"],\"swa\":[\"Como criar um sistema de Swap estável AMM\"],\"swap\":[\"Como criar um sistema de Swap estável AMM\"],\"ve\":[\"Como criar um sistema de Swap estável AMM\"],\"vel\":[\"Como criar um sistema de Swap estável AMM\"]},{\"o\":[\"Carteira com Multi-Assinaturas\",\"Carteira de Tokens\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Como implantar qualquer contrato com Proxy\",\"Criar um contrato com bloqueio de tempo\",\"Armazenamento de Dados\",\"Verificando assinatura hashing com Keccak256\",\"Ataque utilizando a técnica front running\",\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"at\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um Canal de pagamento unidirecional\",\"Verificando assinatura hashing com Keccak256\",\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"atr\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um Canal de pagamento unidirecional\",\"Verificando assinatura hashing com Keccak256\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"atra\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um Canal de pagamento unidirecional\",\"Verificando assinatura hashing com Keccak256\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"atrav\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um Canal de pagamento unidirecional\",\"Verificando assinatura hashing com Keccak256\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"s\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Pré-computar endereço do Contrato com Create2\",\"Criar um Canal de pagamento bidirecional\",\"If, Else, For e While\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Phishing com tx.origin\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como criar um produto constante AMM\"],\"con\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Meu primeiro aplicativo\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Import e Libraries, para que servem?\",\"O que é ABI e para que serve?\",\"Como realizar testes com Echidna\",\"Como criar um sistema de Swap estável AMM\"],\"cont\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Meu primeiro aplicativo\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Import e Libraries, para que servem?\",\"O que é ABI e para que serve?\",\"Como realizar testes com Echidna\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"contr\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Import e Libraries, para que servem?\",\"O que é ABI e para que serve?\",\"Como realizar testes com Echidna\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"contra\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Import e Libraries, para que servem?\",\"O que é ABI e para que serve?\",\"Como realizar testes com Echidna\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"contrat\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Import e Libraries, para que servem?\",\"O que é ABI e para que serve?\",\"Como realizar testes com Echidna\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"contrato\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Import e Libraries, para que servem?\",\"O que é ABI e para que serve?\",\"Como realizar testes com Echidna\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"in\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de financiamento coletivo\",\"Criar contrato para Multichamada de funções\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"int\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar contrato para Multichamada de funções\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"inte\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar contrato para Multichamada de funções\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"intel\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar contrato para Multichamada de funções\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"inteli\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar contrato para Multichamada de funções\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"intelig\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar contrato para Multichamada de funções\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"intelige\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar contrato para Multichamada de funções\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"inteligen\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar contrato para Multichamada de funções\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"inteligent\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar contrato para Multichamada de funções\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"inteligente\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar contrato para Multichamada de funções\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"ta\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"tag\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"tags\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Meu primeiro aplicativo\",\"If, Else, For e While\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Criar um Canal de pagamento unidirecional\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"O que é ABI e para que serve?\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar um sistema de Swap estável AMM\",\"Como criar uma soma constante AMM\"],\"inter\":[\"Carteira com Multi-Assinaturas\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Como gravar dados em qualquer slot\",\"Enum - Enumeradores\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"interm\":[\"Carteira com Multi-Assinaturas\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Como gravar dados em qualquer slot\",\"Enum - Enumeradores\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"interme\":[\"Carteira com Multi-Assinaturas\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Como gravar dados em qualquer slot\",\"Enum - Enumeradores\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"intermed\":[\"Carteira com Multi-Assinaturas\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Como gravar dados em qualquer slot\",\"Enum - Enumeradores\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"intermedi\":[\"Carteira com Multi-Assinaturas\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Como gravar dados em qualquer slot\",\"Enum - Enumeradores\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"r\":[\"Carteira com Multi-Assinaturas\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Como gravar dados em qualquer slot\",\"Criar contrato para Multichamada de funções\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Tratamento de erros de condições e exceções\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Manipulando o timestamp do bloco na blockchain\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"ri\":[\"Carteira com Multi-Assinaturas\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Como gravar dados em qualquer slot\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"rio\":[\"Carteira com Multi-Assinaturas\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Como gravar dados em qualquer slot\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Import e Libraries, para que servem?\",\"Verificando assinatura hashing com Keccak256\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como realizar Swap com Uniswap V2\",\"Como ignorar a verificação do tamanho do contrato\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"av\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Verificando assinatura hashing com Keccak256\",\"Repetição de assinatura\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\"],\"ava\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Verificando assinatura hashing com Keccak256\",\"Repetição de assinatura\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\"],\"avan\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Verificando assinatura hashing com Keccak256\",\"Repetição de assinatura\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\"],\"ad\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Verificando assinatura hashing com Keccak256\",\"Repetição de assinatura\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\"],\"ado\":[\"Carteira com Multi-Assinaturas\",\"Árvore de Merkle\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\",\"Verificando assinatura hashing com Keccak256\",\"Repetição de assinatura\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\"],\"apl\":[\"Carteira com Multi-Assinaturas\",\"Carteira de Tokens\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\"],\"apli\":[\"Carteira com Multi-Assinaturas\",\"Carteira de Tokens\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\"],\"aplic\":[\"Carteira com Multi-Assinaturas\",\"Carteira de Tokens\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\"],\"aplica\":[\"Carteira com Multi-Assinaturas\",\"Carteira de Tokens\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Entendendo as Variáveis\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar contrato para Multichamada de funções\",\"Criar um Canal de pagamento unidirecional\"],\"co\":[\"Árvore de Merkle\",\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Meu primeiro aplicativo\",\"Enum - Enumeradores\",\"O que é ABI e para que serve?\"],\"da\":[\"Carteira de Tokens\",\"Mapeamento Iterável\",\"Verificando assinatura hashing com Keccak256\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Manipulando o timestamp do bloco na blockchain\"],\"ini\":[\"Carteira de Tokens\",\"Meu primeiro aplicativo\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Import e Libraries, para que servem?\"],\"inic\":[\"Carteira de Tokens\",\"Meu primeiro aplicativo\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Import e Libraries, para que servem?\"],\"inici\":[\"Carteira de Tokens\",\"Meu primeiro aplicativo\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Import e Libraries, para que servem?\"],\"inicia\":[\"Carteira de Tokens\",\"Meu primeiro aplicativo\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Import e Libraries, para que servem?\"],\"inician\":[\"Carteira de Tokens\",\"Meu primeiro aplicativo\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Import e Libraries, para que servem?\"],\"iniciant\":[\"Carteira de Tokens\",\"Meu primeiro aplicativo\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Import e Libraries, para que servem?\"],\"iniciante\":[\"Carteira de Tokens\",\"Meu primeiro aplicativo\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Import e Libraries, para que servem?\"],\"e\":[\"Carteira de Tokens\",\"Como implantar qualquer contrato com Proxy\",\"Criar um contrato com bloqueio de tempo\",\"Armazenamento de Dados\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Manipulando o timestamp do bloco na blockchain\"],\"es\":[\"Carteira de Tokens\",\"Trabalhando com Proxy\",\"Como implantar qualquer contrato com Proxy\",\"Entendendo as Variáveis\",\"Meu primeiro aplicativo\",\"Enum - Enumeradores\",\"Chamada de função delegatecall\"],\"q\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Mapping e Arrays\"],\"qu\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Mapping e Arrays\"],\"que\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"intera\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"interag\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"interagi\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"interagir\":[\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\"],\"b\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Mapping e Arrays\",\"Repetição de assinatura\"],\"bl\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\"],\"blo\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\"],\"bloc\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\"],\"block\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\"],\"blockc\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\"],\"blockch\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\"],\"blockcha\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\"],\"blockchai\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\"],\"blockchain\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\"],\"como\":[\"Trabalhando com Proxy\",\"O que é ABI e para que serve?\"],\"im\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\"],\"imp\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\"],\"impl\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\"],\"impla\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\"],\"implan\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\"],\"implant\":[\"Trabalhando com Proxy\",\"Pré-computar endereço do Contrato com Create2\"],\"l\":[\"Trabalhando com Proxy\",\"Mapping e Arrays\"],\"lo\":[\"Trabalhando com Proxy\",\"Mapping e Arrays\"],\"su\":[\"Trabalhando com Proxy\",\"Entendendo as Variáveis\"],\"sua\":[\"Trabalhando com Proxy\",\"Entendendo as Variáveis\"],\"suas\":[\"Trabalhando com Proxy\",\"Entendendo as Variáveis\"],\"an\":[\"Pré-computar endereço do Contrato com Create2\",\"Ataque utilizando a técnica front running\"],\"ant\":[\"Pré-computar endereço do Contrato com Create2\",\"Ataque utilizando a técnica front running\"],\"ante\":[\"Pré-computar endereço do Contrato com Create2\",\"Ataque utilizando a técnica front running\"],\"antes\":[\"Pré-computar endereço do Contrato com Create2\"],\"se\":[\"Pré-computar endereço do Contrato com Create2\",\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Phishing com tx.origin\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"ser\":[\"Pré-computar endereço do Contrato com Create2\",\"Criar um contrato através de outro contrato\"],\"implanta\":[\"Pré-computar endereço do Contrato com Create2\"],\"implantad\":[\"Pré-computar endereço do Contrato com Create2\"],\"implantado\":[\"Pré-computar endereço do Contrato com Create2\"],\"na\":[\"Pré-computar endereço do Contrato com Create2\",\"Como implantar qualquer contrato com Proxy\"],\"st\":[\"Como gravar dados em qualquer slot\",\"Armazenamento de Dados\"],\"sto\":[\"Como gravar dados em qualquer slot\",\"Armazenamento de Dados\"],\"stor\":[\"Como gravar dados em qualquer slot\",\"Armazenamento de Dados\"],\"stora\":[\"Como gravar dados em qualquer slot\",\"Armazenamento de Dados\"],\"storag\":[\"Como gravar dados em qualquer slot\",\"Armazenamento de Dados\"],\"storage\":[\"Como gravar dados em qualquer slot\",\"Armazenamento de Dados\"],\"u\":[\"Como gravar dados em qualquer slot\",\"Como implantar qualquer contrato com Proxy\",\"Meu primeiro aplicativo\",\"Mapping e Arrays\",\"Como realizar testes com Echidna\"],\"um\":[\"Como gravar dados em qualquer slot\",\"Meu primeiro aplicativo\",\"Como realizar testes com Echidna\",\"Como adicionar e remover liquidez com Uniswap V2\"],\"ut\":[\"Como implantar qualquer contrato com Proxy\",\"Mapping e Arrays\",\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Exemplos de uso do Uniswap V3\"],\"uti\":[\"Como implantar qualquer contrato com Proxy\",\"Mapping e Arrays\",\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Exemplos de uso do Uniswap V3\"],\"util\":[\"Como implantar qualquer contrato com Proxy\",\"Mapping e Arrays\",\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Exemplos de uso do Uniswap V3\"],\"utili\":[\"Como implantar qualquer contrato com Proxy\",\"Mapping e Arrays\",\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Exemplos de uso do Uniswap V3\"],\"utiliz\":[\"Como implantar qualquer contrato com Proxy\",\"Mapping e Arrays\",\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Exemplos de uso do Uniswap V3\"],\"utiliza\":[\"Como implantar qualquer contrato com Proxy\",\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Exemplos de uso do Uniswap V3\"],\"utilizan\":[\"Como implantar qualquer contrato com Proxy\",\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\"],\"utilizand\":[\"Como implantar qualquer contrato com Proxy\",\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\"],\"utilizando\":[\"Como implantar qualquer contrato com Proxy\",\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\"],\"m\":[\"Como implantar qualquer contrato com Proxy\",\"Ether, Wei e Taxa de Gas\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"to\":[\"Como implantar qualquer contrato com Proxy\",\"Inutilizar um contrato através da negação de serviço\",\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"tod\":[\"Como implantar qualquer contrato com Proxy\"],\"todo\":[\"Como implantar qualquer contrato com Proxy\"],\"def\":[\"Entendendo as Variáveis\",\"Como realizar Swap com Uniswap V2\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"defi\":[\"Entendendo as Variáveis\",\"Como realizar Swap com Uniswap V2\",\"Exemplos de uso do Uniswap V3\",\"Como criar um sistema de Cofre\",\"Como criar um produto constante AMM\",\"Como criar uma soma constante AMM\"],\"defin\":[\"Entendendo as Variáveis\"],\"conh\":[\"Entendendo as Variáveis\"],\"conhe\":[\"Entendendo as Variáveis\"],\"di\":[\"Entendendo as Variáveis\"],\"dif\":[\"Entendendo as Variáveis\"],\"dife\":[\"Entendendo as Variáveis\"],\"difer\":[\"Entendendo as Variáveis\"],\"difere\":[\"Entendendo as Variáveis\"],\"diferen\":[\"Entendendo as Variáveis\"],\"diferent\":[\"Entendendo as Variáveis\"],\"diferente\":[\"Entendendo as Variáveis\"],\"diferentes\":[\"Entendendo as Variáveis\"],\"ap\":[\"Entendendo as Variáveis\"],\"p\":[\"Criar um contrato com bloqueio de tempo\",\"Enum - Enumeradores\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\",\"Como um contrato malicioso esconde seu script\",\"Ataque utilizando a técnica front running\",\"Repetição de assinatura\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"pa\":[\"Criar um contrato com bloqueio de tempo\",\"Enum - Enumeradores\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Ataque utilizando a técnica front running\",\"Repetição de assinatura\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"par\":[\"Criar um contrato com bloqueio de tempo\",\"Enum - Enumeradores\",\"Tratamento de erros de condições e exceções\",\"Ataque utilizando a técnica front running\",\"Repetição de assinatura\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"para\":[\"Criar um contrato com bloqueio de tempo\",\"Enum - Enumeradores\",\"Tratamento de erros de condições e exceções\",\"Ataque utilizando a técnica front running\",\"Repetição de assinatura\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"ag\":[\"Criar um contrato com bloqueio de tempo\"],\"age\":[\"Criar um contrato com bloqueio de tempo\"],\"agen\":[\"Criar um contrato com bloqueio de tempo\"],\"agend\":[\"Criar um contrato com bloqueio de tempo\"],\"agenda\":[\"Criar um contrato com bloqueio de tempo\"],\"agendar\":[\"Criar um contrato com bloqueio de tempo\"],\"ex\":[\"Criar um contrato com bloqueio de tempo\"],\"exe\":[\"Criar um contrato com bloqueio de tempo\"],\"exec\":[\"Criar um contrato com bloqueio de tempo\"],\"execu\":[\"Criar um contrato com bloqueio de tempo\"],\"uma\":[\"Criar um contrato com bloqueio de tempo\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Como adicionar e remover liquidez com Uniswap V2\"],\"tr\":[\"Criar um contrato com bloqueio de tempo\",\"Ataque utilizando a técnica front running\",\"Como realizar Swap com Uniswap V2\"],\"tra\":[\"Criar um contrato com bloqueio de tempo\",\"Ataque utilizando a técnica front running\"],\"tran\":[\"Criar um contrato com bloqueio de tempo\",\"Ataque utilizando a técnica front running\"],\"trans\":[\"Criar um contrato com bloqueio de tempo\",\"Ataque utilizando a técnica front running\"],\"transa\":[\"Criar um contrato com bloqueio de tempo\",\"Ataque utilizando a técnica front running\"],\"no\":[\"Criar um contrato com bloqueio de tempo\",\"If, Else, For e While\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Enviar Ether com transfer, send e call\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\"],\"f\":[\"Criar um contrato com bloqueio de tempo\",\"Armazenamento de Dados\",\"Evento, Construtor e Herança\",\"Verificando assinatura hashing com Keccak256\",\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\"],\"fu\":[\"Criar um contrato com bloqueio de tempo\",\"Verificando assinatura hashing com Keccak256\",\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\"],\"fut\":[\"Criar um contrato com bloqueio de tempo\"],\"futu\":[\"Criar um contrato com bloqueio de tempo\"],\"futur\":[\"Criar um contrato com bloqueio de tempo\"],\"futuro\":[\"Criar um contrato com bloqueio de tempo\"],\"bi\":[\"Ether, Wei e Taxa de Gas\"],\"bin\":[\"Ether, Wei e Taxa de Gas\"],\"bina\":[\"Ether, Wei e Taxa de Gas\"],\"binan\":[\"Ether, Wei e Taxa de Gas\"],\"binanc\":[\"Ether, Wei e Taxa de Gas\"],\"binance\":[\"Ether, Wei e Taxa de Gas\"],\"sm\":[\"Ether, Wei e Taxa de Gas\"],\"sma\":[\"Ether, Wei e Taxa de Gas\"],\"smar\":[\"Ether, Wei e Taxa de Gas\"],\"smart\":[\"Ether, Wei e Taxa de Gas\"],\"ch\":[\"Ether, Wei e Taxa de Gas\",\"Criar um contrato através de outro contrato\",\"Como criar um sistema de preços Oracle\"],\"cha\":[\"Ether, Wei e Taxa de Gas\",\"Criar um contrato através de outro contrato\",\"Como criar um sistema de preços Oracle\"],\"chai\":[\"Ether, Wei e Taxa de Gas\",\"Como criar um sistema de preços Oracle\"],\"chain\":[\"Ether, Wei e Taxa de Gas\",\"Como criar um sistema de preços Oracle\"],\"bn\":[\"Ether, Wei e Taxa de Gas\"],\"bnb\":[\"Ether, Wei e Taxa de Gas\"],\"pol\":[\"Ether, Wei e Taxa de Gas\"],\"poly\":[\"Ether, Wei e Taxa de Gas\"],\"polyg\":[\"Ether, Wei e Taxa de Gas\"],\"polygo\":[\"Ether, Wei e Taxa de Gas\"],\"polygon\":[\"Ether, Wei e Taxa de Gas\"],\"ma\":[\"Ether, Wei e Taxa de Gas\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"mat\":[\"Ether, Wei e Taxa de Gas\"],\"mati\":[\"Ether, Wei e Taxa de Gas\"],\"matic\":[\"Ether, Wei e Taxa de Gas\"],\"por\":[\"Ether, Wei e Taxa de Gas\",\"Estruturas - Struct\",\"Criar um contrato através de outro contrato\"],\"re\":[\"Criar contrato para Multichamada de funções\",\"Tratamento de erros de condições e exceções\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"rea\":[\"Criar contrato para Multichamada de funções\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"real\":[\"Criar contrato para Multichamada de funções\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"reali\":[\"Criar contrato para Multichamada de funções\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"realiz\":[\"Criar contrato para Multichamada de funções\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"realiza\":[\"Criar contrato para Multichamada de funções\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"realizar\":[\"Criar contrato para Multichamada de funções\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"dec\":[\"Meu primeiro aplicativo\",\"O que é ABI e para que serve?\"],\"decr\":[\"Meu primeiro aplicativo\"],\"decre\":[\"Meu primeiro aplicativo\"],\"decrem\":[\"Meu primeiro aplicativo\"],\"decreme\":[\"Meu primeiro aplicativo\"],\"decremen\":[\"Meu primeiro aplicativo\"],\"decrement\":[\"Meu primeiro aplicativo\"],\"decrementa\":[\"Meu primeiro aplicativo\"],\"decrementar\":[\"Meu primeiro aplicativo\"],\"v\":[\"Meu primeiro aplicativo\",\"Inutilizar um contrato através da negação de serviço\"],\"va\":[\"Meu primeiro aplicativo\"],\"val\":[\"Meu primeiro aplicativo\"],\"valo\":[\"Meu primeiro aplicativo\"],\"valor\":[\"Meu primeiro aplicativo\"],\"conta\":[\"Meu primeiro aplicativo\"],\"contad\":[\"Meu primeiro aplicativo\"],\"contado\":[\"Meu primeiro aplicativo\"],\"contador\":[\"Meu primeiro aplicativo\"],\"os\":[\"If, Else, For e While\",\"Armazenamento de Dados\",\"Criar um contrato através de outro contrato\"],\"do\":[\"If, Else, For e While\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"O que é ABI e para que serve?\"],\"so\":[\"If, Else, For e While\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\"],\"sol\":[\"If, Else, For e While\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Tratamento de erros de condições e exceções\"],\"soli\":[\"If, Else, For e While\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Tratamento de erros de condições e exceções\"],\"solid\":[\"If, Else, For e While\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Tratamento de erros de condições e exceções\"],\"solidi\":[\"If, Else, For e While\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Tratamento de erros de condições e exceções\"],\"solidit\":[\"If, Else, For e While\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Tratamento de erros de condições e exceções\"],\"solidity\":[\"If, Else, For e While\",\"Mapping e Arrays\",\"Armazenamento de Dados\",\"Estruturas - Struct\",\"Funções e Modificadores\",\"Tratamento de erros de condições e exceções\"],\"te\":[\"Enum - Enumeradores\"],\"tei\":[\"Enum - Enumeradores\"],\"teis\":[\"Enum - Enumeradores\"],\"mo\":[\"Enum - Enumeradores\"],\"mod\":[\"Enum - Enumeradores\"],\"mode\":[\"Enum - Enumeradores\"],\"model\":[\"Enum - Enumeradores\"],\"modela\":[\"Enum - Enumeradores\"],\"modelar\":[\"Enum - Enumeradores\"],\"esc\":[\"Enum - Enumeradores\"],\"esco\":[\"Enum - Enumeradores\"],\"escol\":[\"Enum - Enumeradores\"],\"escolh\":[\"Enum - Enumeradores\"],\"escolha\":[\"Enum - Enumeradores\"],\"ac\":[\"Enum - Enumeradores\"],\"aco\":[\"Enum - Enumeradores\"],\"acom\":[\"Enum - Enumeradores\"],\"acomp\":[\"Enum - Enumeradores\"],\"acompa\":[\"Enum - Enumeradores\"],\"acompan\":[\"Enum - Enumeradores\"],\"acompanh\":[\"Enum - Enumeradores\"],\"acompanha\":[\"Enum - Enumeradores\"],\"acompanhar\":[\"Enum - Enumeradores\"],\"est\":[\"Enum - Enumeradores\"],\"esta\":[\"Enum - Enumeradores\"],\"estad\":[\"Enum - Enumeradores\"],\"estado\":[\"Enum - Enumeradores\"],\"seu\":[\"Enum - Enumeradores\",\"Mapping e Arrays\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Import e Libraries, para que servem?\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"c\":[\"Enum - Enumeradores\",\"O que é ABI e para que serve?\"],\"be\":[\"Mapping e Arrays\"],\"bem\":[\"Mapping e Arrays\"],\"qua\":[\"Mapping e Arrays\"],\"quan\":[\"Mapping e Arrays\"],\"quand\":[\"Mapping e Arrays\"],\"quando\":[\"Mapping e Arrays\"],\"los\":[\"Mapping e Arrays\"],\"em\":[\"Mapping e Arrays\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Import e Libraries, para que servem?\",\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Como realizar testes com Echidna\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\"],\"fa\":[\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\"],\"fal\":[\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\"],\"fala\":[\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"falar\":[\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"falare\":[\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"falarem\":[\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"falaremo\":[\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"falaremos\":[\"Armazenamento de Dados\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"sob\":[\"Armazenamento de Dados\"],\"sobr\":[\"Armazenamento de Dados\"],\"sobre\":[\"Armazenamento de Dados\"],\"tip\":[\"Armazenamento de Dados\"],\"tipo\":[\"Armazenamento de Dados\"],\"tipos\":[\"Armazenamento de Dados\"],\"me\":[\"Armazenamento de Dados\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"mem\":[\"Armazenamento de Dados\"],\"memo\":[\"Armazenamento de Dados\"],\"memor\":[\"Armazenamento de Dados\"],\"memory\":[\"Armazenamento de Dados\"],\"ca\":[\"Armazenamento de Dados\",\"Tratamento de erros de condições e exceções\"],\"cal\":[\"Armazenamento de Dados\"],\"call\":[\"Armazenamento de Dados\"],\"calld\":[\"Armazenamento de Dados\"],\"callda\":[\"Armazenamento de Dados\"],\"calldat\":[\"Armazenamento de Dados\"],\"calldata\":[\"Armazenamento de Dados\"],\"po\":[\"Estruturas - Struct\",\"Criar um contrato através de outro contrato\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Como adicionar e remover liquidez com Uniswap V2\"],\"port\":[\"Estruturas - Struct\"],\"portu\":[\"Estruturas - Struct\"],\"portug\":[\"Estruturas - Struct\"],\"portugu\":[\"Estruturas - Struct\"],\"vi\":[\"Funções e Modificadores\"],\"vie\":[\"Funções e Modificadores\"],\"view\":[\"Funções e Modificadores\"],\"views\":[\"Funções e Modificadores\"],\"func\":[\"Funções e Modificadores\",\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\"],\"funct\":[\"Funções e Modificadores\"],\"functi\":[\"Funções e Modificadores\"],\"functio\":[\"Funções e Modificadores\"],\"function\":[\"Funções e Modificadores\"],\"pu\":[\"Funções e Modificadores\"],\"pur\":[\"Funções e Modificadores\"],\"pure\":[\"Funções e Modificadores\"],\"modifie\":[\"Funções e Modificadores\"],\"modifier\":[\"Funções e Modificadores\"],\"construc\":[\"Evento, Construtor e Herança\"],\"construct\":[\"Evento, Construtor e Herança\"],\"constructo\":[\"Evento, Construtor e Herança\"],\"constructor\":[\"Evento, Construtor e Herança\"],\"visibilit\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"visibility\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"pay\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"paya\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"payab\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"payabl\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"payable\":[\"Visibilidade, Interfaces e Funções Pagáveis\"],\"req\":[\"Tratamento de erros de condições e exceções\"],\"requ\":[\"Tratamento de erros de condições e exceções\"],\"requi\":[\"Tratamento de erros de condições e exceções\"],\"requir\":[\"Tratamento de erros de condições e exceções\"],\"require\":[\"Tratamento de erros de condições e exceções\"],\"rev\":[\"Tratamento de erros de condições e exceções\"],\"reve\":[\"Tratamento de erros de condições e exceções\"],\"rever\":[\"Tratamento de erros de condições e exceções\"],\"revert\":[\"Tratamento de erros de condições e exceções\"],\"as\":[\"Tratamento de erros de condições e exceções\"],\"ass\":[\"Tratamento de erros de condições e exceções\"],\"asse\":[\"Tratamento de erros de condições e exceções\"],\"asser\":[\"Tratamento de erros de condições e exceções\"],\"assert\":[\"Tratamento de erros de condições e exceções\"],\"try\":[\"Tratamento de erros de condições e exceções\"],\"cat\":[\"Tratamento de erros de condições e exceções\"],\"catc\":[\"Tratamento de erros de condições e exceções\"],\"catch\":[\"Tratamento de erros de condições e exceções\"],\"contratos\":[\"Criar um contrato através de outro contrato\",\"Criar uma armadilha para hackers com a técnica honeypot\"],\"pod\":[\"Criar um contrato através de outro contrato\"],\"pode\":[\"Criar um contrato através de outro contrato\"],\"podem\":[\"Criar um contrato através de outro contrato\"],\"criad\":[\"Criar um contrato através de outro contrato\"],\"criado\":[\"Criar um contrato através de outro contrato\"],\"criados\":[\"Criar um contrato através de outro contrato\"],\"outros\":[\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"us\":[\"Criar um contrato através de outro contrato\"],\"usa\":[\"Criar um contrato através de outro contrato\"],\"usan\":[\"Criar um contrato através de outro contrato\"],\"usand\":[\"Criar um contrato através de outro contrato\"],\"usando\":[\"Criar um contrato através de outro contrato\"],\"pal\":[\"Criar um contrato através de outro contrato\"],\"pala\":[\"Criar um contrato através de outro contrato\"],\"palav\":[\"Criar um contrato através de outro contrato\"],\"palavr\":[\"Criar um contrato através de outro contrato\"],\"palavra\":[\"Criar um contrato através de outro contrato\"],\"chav\":[\"Criar um contrato através de outro contrato\"],\"chave\":[\"Criar um contrato através de outro contrato\"],\"new\":[\"Criar um contrato através de outro contrato\"],\"ou\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Ataque utilizando a técnica front running\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"out\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Ataque utilizando a técnica front running\"],\"outr\":[\"Call, Fallback, Delegatecall e chamadas de contratos\",\"Ataque utilizando a técnica front running\"],\"outro\":[\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"nov\":[\"Import e Libraries, para que servem?\"],\"nova\":[\"Import e Libraries, para que servem?\"],\"novas\":[\"Import e Libraries, para que servem?\"],\"fun\":[\"Verificando assinatura hashing com Keccak256\",\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\"],\"pr\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"pre\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\"],\"prev\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\"],\"previ\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\"],\"previn\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\"],\"previni\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\"],\"previnir\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\"],\"com\":[\"O que é ABI e para que serve?\"],\"cod\":[\"O que é ABI e para que serve?\"],\"codi\":[\"O que é ABI e para que serve?\"],\"codif\":[\"O que é ABI e para que serve?\"],\"codifi\":[\"O que é ABI e para que serve?\"],\"codific\":[\"O que é ABI e para que serve?\"],\"codifica\":[\"O que é ABI e para que serve?\"],\"codificar\":[\"O que é ABI e para que serve?\"],\"deco\":[\"O que é ABI e para que serve?\"],\"decod\":[\"O que é ABI e para que serve?\"],\"decodi\":[\"O que é ABI e para que serve?\"],\"decodif\":[\"O que é ABI e para que serve?\"],\"decodifi\":[\"O que é ABI e para que serve?\"],\"decodific\":[\"O que é ABI e para que serve?\"],\"decodifica\":[\"O que é ABI e para que serve?\"],\"decodificar\":[\"O que é ABI e para que serve?\"],\"funci\":[\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\"],\"funcio\":[\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\"],\"funcion\":[\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\"],\"funciona\":[\"Ataques com estouro de memória\",\"Ataques com Auto-destruição\"],\"ata\":[\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\"],\"ataq\":[\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\"],\"ataqu\":[\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\"],\"ataque\":[\"Acessando variáveis privadas\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\"],\"fontes\":[\"Fonte de Aleatoriedade\"],\"tor\":[\"Inutilizar um contrato através da negação de serviço\"],\"torn\":[\"Inutilizar um contrato através da negação de serviço\"],\"torna\":[\"Inutilizar um contrato através da negação de serviço\"],\"tornar\":[\"Inutilizar um contrato através da negação de serviço\"],\"ve\":[\"Inutilizar um contrato através da negação de serviço\"],\"vel\":[\"Inutilizar um contrato através da negação de serviço\"],\"pe\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"peg\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"pega\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"pegar\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"mal\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"mali\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"malic\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"malici\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"malicio\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"malicios\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"malicioso\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"maliciosos\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"pot\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"pote\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"mel\":[\"Criar uma armadilha para hackers com a técnica honeypot\"],\"antec\":[\"Ataque utilizando a técnica front running\"],\"anteci\":[\"Ataque utilizando a técnica front running\"],\"antecip\":[\"Ataque utilizando a técnica front running\"],\"antecipa\":[\"Ataque utilizando a técnica front running\"],\"antecipar\":[\"Ataque utilizando a técnica front running\"],\"du\":[\"Ataque utilizando a técnica front running\"],\"dur\":[\"Ataque utilizando a técnica front running\"],\"dura\":[\"Ataque utilizando a técnica front running\"],\"duran\":[\"Ataque utilizando a técnica front running\"],\"durant\":[\"Ataque utilizando a técnica front running\"],\"durante\":[\"Ataque utilizando a técnica front running\"],\"outra\":[\"Ataque utilizando a técnica front running\"],\"manipular\":[\"Manipulando o timestamp do bloco na blockchain\"],\"dat\":[\"Manipulando o timestamp do bloco na blockchain\"],\"data\":[\"Manipulando o timestamp do bloco na blockchain\"],\"h\":[\"Manipulando o timestamp do bloco na blockchain\"],\"ho\":[\"Manipulando o timestamp do bloco na blockchain\"],\"hor\":[\"Manipulando o timestamp do bloco na blockchain\"],\"hora\":[\"Manipulando o timestamp do bloco na blockchain\"],\"tro\":[\"Como realizar Swap com Uniswap V2\"],\"troc\":[\"Como realizar Swap com Uniswap V2\"],\"troca\":[\"Como realizar Swap com Uniswap V2\"],\"tok\":[\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"toke\":[\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"token\":[\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"tokens\":[\"Como realizar Swap com Uniswap V2\",\"Fornecimento unilateral ideal com Uniswap V2\"],\"bu\":[\"Repetição de assinatura\"],\"bur\":[\"Repetição de assinatura\"],\"burl\":[\"Repetição de assinatura\"],\"burla\":[\"Repetição de assinatura\"],\"burlar\":[\"Repetição de assinatura\"],\"cons\":[\"Como ignorar a verificação do tamanho do contrato\"],\"conse\":[\"Como ignorar a verificação do tamanho do contrato\"],\"conseg\":[\"Como ignorar a verificação do tamanho do contrato\"],\"consegu\":[\"Como ignorar a verificação do tamanho do contrato\"],\"consegue\":[\"Como ignorar a verificação do tamanho do contrato\"],\"sw\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"swa\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"swap\":[\"Fornecimento unilateral ideal com Uniswap V2\"],\"poo\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"pool\":[\"Como adicionar e remover liquidez com Uniswap V2\"],\"chainl\":[\"Como criar um sistema de preços Oracle\"],\"chainli\":[\"Como criar um sistema de preços Oracle\"],\"chainlin\":[\"Como criar um sistema de preços Oracle\"],\"chainlink\":[\"Como criar um sistema de preços Oracle\"],\"pro\":[\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"proj\":[\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"proje\":[\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"projet\":[\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"projeto\":[\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"j\":[\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"jo\":[\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"jog\":[\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"jogo\":[\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"nf\":[\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"nft\":[\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Cofre\",\"Como criar um sistema de Staking de Recompensas\"],\"utilizar\":[\"Exemplos de uso do Uniswap V3\"]},{\"es\":[\"Carteira com Multi-Assinaturas\",\"Mapeamento Iterável\",\"Criando nosso primeiro Token ERC20\",\"Criando nosso primeiro Token ERC721\",\"Pré-computar endereço do Contrato com Create2\",\"Como gravar dados em qualquer slot\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de leilão inglês e holandês\",\"Criar um sistema de financiamento coletivo\",\"Criar um contrato com bloqueio de tempo\",\"Criar um Canal de pagamento unidirecional\"],\"e\":[\"Mapeamento Iterável\",\"Criar um Canal de pagamento bidirecional\",\"Criar um sistema de financiamento coletivo\",\"Criar um Canal de pagamento unidirecional\"],\"in\":[\"Entendendo as Variáveis\"],\"ini\":[\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"If, Else, For e While\",\"O que é ABI e para que serve?\"],\"inic\":[\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"If, Else, For e While\",\"O que é ABI e para que serve?\"],\"inici\":[\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"If, Else, For e While\",\"O que é ABI e para que serve?\"],\"inicia\":[\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"If, Else, For e While\",\"O que é ABI e para que serve?\"],\"inician\":[\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"If, Else, For e While\",\"O que é ABI e para que serve?\"],\"iniciant\":[\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"If, Else, For e While\",\"O que é ABI e para que serve?\"],\"iniciante\":[\"Entendendo as Variáveis\",\"Ether, Wei e Taxa de Gas\",\"If, Else, For e While\",\"O que é ABI e para que serve?\"],\"di\":[\"Ether, Wei e Taxa de Gas\"],\"dia\":[\"Ether, Wei e Taxa de Gas\"],\"dian\":[\"Ether, Wei e Taxa de Gas\"],\"diant\":[\"Ether, Wei e Taxa de Gas\"],\"diante\":[\"Ether, Wei e Taxa de Gas\"],\"tag\":[\"Ether, Wei e Taxa de Gas\"],\"tags\":[\"Ether, Wei e Taxa de Gas\"],\"r\":[\"Enum - Enumeradores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"ri\":[\"Enum - Enumeradores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"rio\":[\"Enum - Enumeradores\",\"Funções e Modificadores\",\"Evento, Construtor e Herança\",\"Visibilidade, Interfaces e Funções Pagáveis\",\"Enviar Ether com transfer, send e call\",\"Tratamento de erros de condições e exceções\",\"Criar um contrato através de outro contrato\",\"Call, Fallback, Delegatecall e chamadas de contratos\"],\"int\":[\"Tratamento de erros de condições e exceções\"],\"inte\":[\"Tratamento de erros de condições e exceções\"],\"inter\":[\"Tratamento de erros de condições e exceções\"],\"interm\":[\"Tratamento de erros de condições e exceções\"],\"interme\":[\"Tratamento de erros de condições e exceções\"],\"intermed\":[\"Tratamento de erros de condições e exceções\"],\"intermedi\":[\"Tratamento de erros de condições e exceções\"],\"h\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Ataque utilizando a técnica front running\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"ha\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"hac\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"hack\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"hacks\":[\"Ataque de reentrada, aprenda como funciona e como evitar\",\"Ataques com estouro de memória\",\"Acessando variáveis privadas\",\"Ataques com Auto-destruição\",\"Chamada de função delegatecall\",\"Fonte de Aleatoriedade\",\"Inutilizar um contrato através da negação de serviço\",\"Phishing com tx.origin\",\"Como um contrato malicioso esconde seu script\",\"Criar uma armadilha para hackers com a técnica honeypot\",\"Ataque utilizando a técnica front running\",\"Manipulando o timestamp do bloco na blockchain\",\"Repetição de assinatura\",\"Como ignorar a verificação do tamanho do contrato\"],\"def\":[\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\"],\"defi\":[\"Fornecimento unilateral ideal com Uniswap V2\",\"Como adicionar e remover liquidez com Uniswap V2\",\"Como criar um sistema de preços Oracle\",\"Como criar um sistema de Staking de Recompensas\",\"Como criar um sistema de Swap estável AMM\"]},{},{},{},{},{}],{},[\"@Carteira com Multi-Assinaturas\",\"@Árvore de Merkle\",\"@Carteira de Tokens\",\"@Mapeamento Iterável\",\"@Criando nosso primeiro Token ERC20\",\"@Criando nosso primeiro Token ERC721\",\"@Trabalhando com Proxy\",\"@Pré-computar endereço do Contrato com Create2\",\"@Como gravar dados em qualquer slot\",\"@Como implantar qualquer contrato com Proxy\",\"@Criar um Canal de pagamento bidirecional\",\"@Criar um sistema de leilão inglês e holandês\",\"@Entendendo as Variáveis\",\"@Criar um sistema de financiamento coletivo\",\"@Criar um contrato com bloqueio de tempo\",\"@Ether, Wei e Taxa de Gas\",\"@Criar contrato para Multichamada de funções\",\"@Meu primeiro aplicativo\",\"@If, Else, For e While\",\"@Enum - Enumeradores\",\"@Mapping e Arrays\",\"@Criar um Canal de pagamento unidirecional\",\"@Armazenamento de Dados\",\"@Estruturas - Struct\",\"@Funções e Modificadores\",\"@Evento, Construtor e Herança\",\"@Visibilidade, Interfaces e Funções Pagáveis\",\"@Enviar Ether com transfer, send e call\",\"@Tratamento de erros de condições e exceções\",\"@Criar um contrato através de outro contrato\",\"@Call, Fallback, Delegatecall e chamadas de contratos\",\"@Import e Libraries, para que servem?\",\"@Verificando assinatura hashing com Keccak256\",\"@Ataque de reentrada, aprenda como funciona e como evitar\",\"@O que é ABI e para que serve?\",\"@Ataques com estouro de memória\",\"@Acessando variáveis privadas\",\"@Como realizar testes com Echidna\",\"@Ataques com Auto-destruição\",\"@Chamada de função delegatecall\",\"@Fonte de Aleatoriedade\",\"@Inutilizar um contrato através da negação de serviço\",\"@Phishing com tx.origin\",\"@Como um contrato malicioso esconde seu script\",\"@Criar uma armadilha para hackers com a técnica honeypot\",\"@Ataque utilizando a técnica front running\",\"@Manipulando o timestamp do bloco na blockchain\",\"@Como realizar Swap com Uniswap V2\",\"@Repetição de assinatura\",\"@Como ignorar a verificação do tamanho do contrato\",\"@Fornecimento unilateral ideal com Uniswap V2\",\"@Como adicionar e remover liquidez com Uniswap V2\",\"@Como criar um sistema de preços Oracle\",\"@Exemplos de uso do Uniswap V3\",\"@Como criar um sistema de Cofre\",\"@Como criar um sistema de Staking de Recompensas\",\"@Como criar um produto constante AMM\",\"@Como criar um sistema de Swap estável AMM\",\"@Como criar uma soma constante AMM\"]]","store":{"Carteira com Multi-Assinaturas":{"title":"Carteira com Multi-Assinaturas","description":"Nesse artigo iremos aprender a criar uma carteira que aceita múltiplas assinaturas no envio da transação através da criação de um contrato inteligente.","tags":["Intermediário","Avançado","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkOXCrNSot3X//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABwQAAICAgMAAAAAAAAAAAAAAAERAAIxUQMQEv/aAAgBAQAGPwIg8hNrNDUJq7HUDzPQT2pnr//EABsQAAIDAAMAAAAAAAAAAAAAAAERACExEEHx/9oACAEBAAE/IWUgjgRDA6U4REFJYlIAYvSLw4//2gAMAwEAAgADAAAAEIDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHhABAAICAQUAAAAAAAAAAAAAAQARIUGBMWFxkdH/2gAIAQEAAT8QG18DZzAmn53iZC2Vr2jEGClWPGIB0EAFHmOknGHQvLU//9k=","aspectRatio":1.5151515151515151,"src":"/static/194819c025504b44e7518ce7250b947d/0cb3d/capa.jpg","srcSet":"/static/194819c025504b44e7518ce7250b947d/f836f/capa.jpg 200w,\n/static/194819c025504b44e7518ce7250b947d/2244e/capa.jpg 400w,\n/static/194819c025504b44e7518ce7250b947d/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"aplicacao-multi-assinatura/","author":["Matheus"]},"Árvore de Merkle":{"title":"Árvore de Merkle","description":"Nesse artigo iremos aprender a criar uma aplicação utilizando a estrutura da árvore de merkle através da criação de um contrato inteligente.","tags":["Avançado","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjoxowf/EABsQAAICAwEAAAAAAAAAAAAAAAECERIEECEi/9oACAEBAAEFAlMZDlwqzWvruv/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB4QAAEDBAMAAAAAAAAAAAAAAAEAAhEDEDFREiFx/9oACAEBAAY/AiDUJc6YGkS2XHSE5XLqfFm3/8QAGhAAAwEBAQEAAAAAAAAAAAAAAAERITFB8f/aAAgBAQABPyGlIQ8QgwPGUZmLI1DW0SNl6J8Rc0//2gAMAwEAAgADAAAAEKAP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHxABAAICAAcAAAAAAAAAAAAAAQARIVExQWFxgZHR/9oACAEBAAE/EBtfA2cwJyfnWJkLZWvaMQYKVY+MShJrEWO80gxrL8QXYVP/2Q==","aspectRatio":1.5151515151515151,"src":"/static/cf9fe09896ca68d9e7e00edfe0cd8669/0cb3d/capa.jpg","srcSet":"/static/cf9fe09896ca68d9e7e00edfe0cd8669/f836f/capa.jpg 200w,\n/static/cf9fe09896ca68d9e7e00edfe0cd8669/2244e/capa.jpg 400w,\n/static/cf9fe09896ca68d9e7e00edfe0cd8669/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"aplicacao-arvore-merkle/","author":["Matheus"]},"Carteira de Tokens":{"title":"Carteira de Tokens","description":"Nesse artigo iremos aprender a criar uma carteira de tokens através da criação de um contrato inteligente.","tags":["Iniciante","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjaQLB//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDeBG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHRAAAQQCAwAAAAAAAAAAAAAAAQACEVEDMRASQf/aAAgBAQAGPwIg5CXOmBSJEuNITtdvbW+P/8QAHBABAAICAwEAAAAAAAAAAAAAAQARITEQQWGh/9oACAEBAAE/IbKQo6EVMjpi4khqmSawDyzAW/jj/9oADAMBAAIAAwAAABDgz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB4QAQEAAQMFAAAAAAAAAAAAAAERABAhgUFhcZHR/9oACAEBAAE/EBq+BpzYTo/O+Qz2k17YxBgpKPG2Ni0RBo8zLVeAaf/Z","aspectRatio":1.5151515151515151,"src":"/static/7bccfe9c90abf1dc4f271756ff1c4939/0cb3d/capa.jpg","srcSet":"/static/7bccfe9c90abf1dc4f271756ff1c4939/f836f/capa.jpg 200w,\n/static/7bccfe9c90abf1dc4f271756ff1c4939/2244e/capa.jpg 400w,\n/static/7bccfe9c90abf1dc4f271756ff1c4939/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"aplicacao-wallet/","author":["Matheus"]},"Mapeamento Iterável":{"title":"Mapeamento Iterável","description":"Nesse artigo iremos aprender a criar uma aplicação utilizando o mapeamento iterável através da criação de um contrato inteligente.","tags":["Intermediário","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkPcKs1Ki3df//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABwQAAICAgMAAAAAAAAAAAAAAAERAAIxUQMQEv/aAAgBAQAGPwIg8hNrNDUJq7HUDzPQT2pnr//EABsQAQADAQADAAAAAAAAAAAAAAEAESExEEHx/9oACAEBAAE/IbKQocESwL0y4khqmkxAPHpK+Pj/2gAMAwEAAgADAAAAEIDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHhABAQACAQUBAAAAAAAAAAAAAREAITFBYXGBkdH/2gAIAQEAAT8QGr4OnNCdH874aQaTX0YxBgpKPrWEhpoFHnBZwssOcZ//2Q==","aspectRatio":1.5151515151515151,"src":"/static/59fdc8390868b3cd1369150925cb60ab/0cb3d/capa.jpg","srcSet":"/static/59fdc8390868b3cd1369150925cb60ab/f836f/capa.jpg 200w,\n/static/59fdc8390868b3cd1369150925cb60ab/2244e/capa.jpg 400w,\n/static/59fdc8390868b3cd1369150925cb60ab/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"aplicacao-mapeamento-iteravel/","author":["Matheus"]},"Criando nosso primeiro Token ERC20":{"title":"Criando nosso primeiro Token ERC20","description":"Nesse artigo iremos aprender a como criar nosso primeiro Token ERC20 e uma aplicação que irá interagir com nosso token.","tags":["Intermediário","Avançado","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjYJLB//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkOXCrNaie6/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAQUAAwAAAAAAAAAAAAAAAQACETFRAxAS/9oACAEBAAY/AiDyEudMDES2XHEJteheq+v/xAAcEAADAAEFAAAAAAAAAAAAAAAAAREhEDFBYdH/2gAIAQEAAT8hpSEOyEGBwxRmYsjKHahLqEq86f/aAAwDAQACAAMAAAAQkM//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAdEAEBAAEEAwAAAAAAAAAAAAABEQAQIUFhgZHR/9oACAEBAAE/EBq+BpzYTh+d4mQtJr2xiDBSUfG2Xx5EFU7cWLBOCaf/2Q==","aspectRatio":1.5151515151515151,"src":"/static/93c845a8821b032557d4fef97962169e/0cb3d/capa.jpg","srcSet":"/static/93c845a8821b032557d4fef97962169e/f836f/capa.jpg 200w,\n/static/93c845a8821b032557d4fef97962169e/2244e/capa.jpg 400w,\n/static/93c845a8821b032557d4fef97962169e/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"token-erc20/","author":["Matheus"]},"Criando nosso primeiro Token ERC721":{"title":"Criando nosso primeiro Token ERC721","description":"Nesse artigo iremos aprender a como criar nosso primeiro Token ERC721 e uma aplicação que irá interagir com nosso token.","tags":["Intermediário","Avançado","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjYJLB//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkOXCrNaie6/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAQUAAwAAAAAAAAAAAAAAAQACETFRAxAS/9oACAEBAAY/AiDyEudMDES2XHEJteheq+v/xAAcEAADAAEFAAAAAAAAAAAAAAAAAREhEDFBYdH/2gAIAQEAAT8hpSEOyEGBwxRmYsjKHahLqEq86f/aAAwDAQACAAMAAAAQkM//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAdEAEBAAIBBQAAAAAAAAAAAAABEQBhIRBBgZHR/9oACAEBAAE/EBq+BpzgTs/N4mQtJr2xiDBSUfHGXh5EFU25GsGidP/Z","aspectRatio":1.5151515151515151,"src":"/static/7c0611785aba711814983f21b70c002f/0cb3d/capa.jpg","srcSet":"/static/7c0611785aba711814983f21b70c002f/f836f/capa.jpg 200w,\n/static/7c0611785aba711814983f21b70c002f/2244e/capa.jpg 400w,\n/static/7c0611785aba711814983f21b70c002f/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"token-erc721/","author":["Matheus"]},"Trabalhando com Proxy":{"title":"Trabalhando com Proxy","description":"Nesse artigo iremos aprender o que é um Proxy e para que ele server na Blockchain, como implantá-lo e suas aplicações.","tags":["Avançado","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjYJLB//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkPcKs1Kie6/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBABAAICAwEAAAAAAAAAAAAAAQARAlEDEDES/9oACAEBAAY/AkeRcsro1FLydQv2fQF7nvX/xAAbEAACAwADAAAAAAAAAAAAAAABEQAhMRBB0f/aAAgBAQABPyFlII4EJMjpThEQUliUIHqXNeOP/9oADAMBAAIAAwAAABDQz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB8QAQEAAgAHAQAAAAAAAAAAAAERACEQMUFRYYGR0f/aAAgBAQABPxAavgac0J0fzzkO9pNfWMQYKSj61g3oMBo7XAOxS8uD/9k=","aspectRatio":1.5151515151515151,"src":"/static/0652b3c036a43265007cd870742a3fc1/0cb3d/capa.jpg","srcSet":"/static/0652b3c036a43265007cd870742a3fc1/f836f/capa.jpg 200w,\n/static/0652b3c036a43265007cd870742a3fc1/2244e/capa.jpg 400w,\n/static/0652b3c036a43265007cd870742a3fc1/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"trabalhando-com-proxy/","author":["Matheus"]},"Pré-computar endereço do Contrato com Create2":{"title":"Pré-computar endereço do Contrato com Create2","description":"Nesse artigo iremos aprender a como pré-computar um endereço de contrato antes de ser implantado na blockchain.","tags":["Avançado","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNWAYP/8QAGhAAAgIDAAAAAAAAAAAAAAAAAQIREgQQIf/aAAgBAQABBQJTGQ9wqzWonuv/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAcEAABBQADAAAAAAAAAAAAAAABAAIRMVEDEBL/2gAIAQEABj8CIPIS50wMRIlxxCbXoXqvr//EABwQAAMAAQUAAAAAAAAAAAAAAAABESExQVFh8f/aAAgBAQABPyGlIQ6INGRsxRmYsjKHbBPwQl4ix2f/2gAMAwEAAgADAAAAEOAP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHRABAQACAQUAAAAAAAAAAAAAAREAIWFBUYGR0f/aAAgBAQABPxAavgac0J0fnOQ72k17YxBgpKPjWCK0ztJ2suJYqcC4ERXk5//Z","aspectRatio":1.5151515151515151,"src":"/static/a3140a38771c70be98d2d4de618d28c6/0cb3d/capa.jpg","srcSet":"/static/a3140a38771c70be98d2d4de618d28c6/f836f/capa.jpg 200w,\n/static/a3140a38771c70be98d2d4de618d28c6/2244e/capa.jpg 400w,\n/static/a3140a38771c70be98d2d4de618d28c6/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"precomputar-endereco-contrato/","author":["Matheus"]},"Como gravar dados em qualquer slot":{"title":"Como gravar dados em qualquer slot","description":"Nesse artigo iremos aprender a como gravar dados em qualquer slot do storage da blockchain através de um contrato inteligente.","tags":["Intermediário","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDeBG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBABAAICAwEAAAAAAAAAAAAAAQARAjEDEFES/9oACAEBAAY/AkeRcsro8il5PkL3Po3N9f/EABsQAAIDAAMAAAAAAAAAAAAAAAERACFBEDHB/9oACAEBAAE/IWUgj0EJMjFOERBSWIagAeq5nzx//9oADAMBAAIAAwAAABCgz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB4QAQEAAgEFAQAAAAAAAAAAAAERACGBMUFRYXHR/9oACAEBAAE/EBq+BpzQnZ/PeRz2hi5OMQYKSjxrBLUhnp965KHLTAhFr5c//9k=","aspectRatio":1.5151515151515151,"src":"/static/5f10709f3ec46900b840e6fafb26027d/0cb3d/capa.jpg","srcSet":"/static/5f10709f3ec46900b840e6fafb26027d/f836f/capa.jpg 200w,\n/static/5f10709f3ec46900b840e6fafb26027d/2244e/capa.jpg 400w,\n/static/5f10709f3ec46900b840e6fafb26027d/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"gravar-dados-no-slot/","author":["Matheus"]},"Como implantar qualquer contrato com Proxy":{"title":"Como implantar qualquer contrato com Proxy","description":"Nesse artigo iremos aprender a como implantar qualquer contrato na blockchain utilizando o método Proxy.","tags":["Avançado","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjaQLB//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDeBG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHRAAAQMFAQAAAAAAAAAAAAAAAQACEQMQEjFRQf/aAAgBAQAGPwIg1CXOmBxEiXHiE7WXq3b/xAAbEAEBAAIDAQAAAAAAAAAAAAABEQAhEDFBof/aAAgBAQABPyGlIQ9DFGR41cSQyNmNgAnuYHr44//aAAwDAQACAAMAAAAQwM//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAeEAEBAAEEAwEAAAAAAAAAAAABEQAhMUGBUWGR0f/aAAgBAQABPxAavgac0E4fz3kO9pNfWMQYKSj1pg0+hJr3LiGLtwDNjzn/2Q==","aspectRatio":1.5151515151515151,"src":"/static/77ed878db8666746be131b2e28c8508a/0cb3d/capa.jpg","srcSet":"/static/77ed878db8666746be131b2e28c8508a/f836f/capa.jpg 200w,\n/static/77ed878db8666746be131b2e28c8508a/2244e/capa.jpg 400w,\n/static/77ed878db8666746be131b2e28c8508a/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"implantar-contrato-com-proxy/","author":["Matheus"]},"Criar um Canal de pagamento bidirecional":{"title":"Criar um Canal de pagamento bidirecional","description":"Nesse artigo iremos aprender a como criar um canal de pagamento bidirecional através de um contrato inteligente.","tags":["Avançado","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjYJLB//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkPcKs1qJ7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHhAAAQMEAwAAAAAAAAAAAAAAAQACEQMQMVESIWH/2gAIAQEABj8CINQlzpgaRIl3iE5XIDvazb//xAAcEAACAgIDAAAAAAAAAAAAAAABEQAhEDFBYaH/2gAIAQEAAT8hZSCOghPsHCnCIgpLENUDqgD35x//2gAMAwEAAgADAAAAENDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHxABAQABAgcAAAAAAAAAAAAAAREAITEQQVFhgZHR/9oACAEBAAE/EBq+BpzQTk/O+QZ+k17YxBgpKPjTCpnIg1Oi74gVk2Bw/9k=","aspectRatio":1.5151515151515151,"src":"/static/13d83b36c8a94464f3d569ac4233b5dd/0cb3d/capa.jpg","srcSet":"/static/13d83b36c8a94464f3d569ac4233b5dd/f836f/capa.jpg 200w,\n/static/13d83b36c8a94464f3d569ac4233b5dd/2244e/capa.jpg 400w,\n/static/13d83b36c8a94464f3d569ac4233b5dd/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"canal-de-pagamento-bidirecional/","author":["Matheus"]},"Criar um sistema de leilão inglês e holandês":{"title":"Criar um sistema de leilão inglês e holandês","description":"Nesse artigo iremos aprender a como criar um sistema de leilão inglês e holandês através de um contrato inteligente.","tags":["Avançado","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkPcKs1Kie6/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHRABAAIBBQEAAAAAAAAAAAAAAQARAgMQEjFRYf/aAAgBAQAGPwJHUXLK6PIpeXyF9zkUPs72/8QAGxABAAMAAwEAAAAAAAAAAAAAAQARIRAxQfH/2gAIAQEAAT8hspCj0Ir7DxlxJDVNJiicabE+fH//2gAMAwEAAgADAAAAEPDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHxABAQABAgcAAAAAAAAAAAAAAREAIYEQMUFhcZHR/9oACAEBAAE/EBq+BpzQTo/O+QZ+k17YxBgpKO2mE5WQKjztlBI2cP/Z","aspectRatio":1.5151515151515151,"src":"/static/1c2c751b1a74a4cfb71bcbe18f7802cf/0cb3d/capa.jpg","srcSet":"/static/1c2c751b1a74a4cfb71bcbe18f7802cf/f836f/capa.jpg 200w,\n/static/1c2c751b1a74a4cfb71bcbe18f7802cf/2244e/capa.jpg 400w,\n/static/1c2c751b1a74a4cfb71bcbe18f7802cf/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"sistema-de-leilao-ingles-holandes/","author":["Matheus"]},"Entendendo as Variáveis":{"title":"Entendendo as Variáveis","description":"Nesse artigo iremos falar um pouco sobre os tipos de variáveis, como acessá-las e onde definí-las. Conheça os diferentes tipos de variáveis e suas aplicações.","tags":["Iniciante"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjuxGg//EABkQAAMBAQEAAAAAAAAAAAAAAAECEhEEEP/aAAgBAQABBQJTnQ9qq7MisPn/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAcEAACAgIDAAAAAAAAAAAAAAABEQACMVEDEBL/2gAIAQEABj8CIPITazQ1CQ7HUDzPSD3M9f/EABsQAAICAwEAAAAAAAAAAAAAAAERACEQMUHw/9oACAEBAAE/IWMgjoJSscU4REFJYmoB2lmeAx//2gAMAwEAAgADAAAAENDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHxABAQABAgcAAAAAAAAAAAAAAREAECFBUWGBkdHw/9oACAEBAAE/EBsmBpjYTg+uuOEbSa8sYgwUlHttm+UiAYcrnxGn/9k=","aspectRatio":1.5151515151515151,"src":"/static/3ca33f6c84b50f6e50e5d109a291ac67/0cb3d/capa.jpg","srcSet":"/static/3ca33f6c84b50f6e50e5d109a291ac67/f836f/capa.jpg 200w,\n/static/3ca33f6c84b50f6e50e5d109a291ac67/2244e/capa.jpg 400w,\n/static/3ca33f6c84b50f6e50e5d109a291ac67/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"variaveis/","author":["Matheus"]},"Criar um sistema de financiamento coletivo":{"title":"Criar um sistema de financiamento coletivo","description":"Nesse artigo iremos aprender a como criar um sistema de financiamento coletivo através de um contrato inteligente.","tags":["Avançado","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABsQAAEEAwAAAAAAAAAAAAAAAAIBBBESECEi/9oACAEBAAEFAhWHB3QRmtet4//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB4QAAICAQUBAAAAAAAAAAAAAAERAAIxAxASUWFx/9oACAEBAAY/AiDqE2s0OoSHbyB5nIJ/Jnb/xAAbEAEAAgMBAQAAAAAAAAAAAAABABEhMUFR8f/aAAgBAQABPyGykKOhFfYcYuJIapkiSoF3aJ84a9n/2gAMAwEAAgADAAAAEMAP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHxABAQACAAcBAAAAAAAAAAAAAREAITFBUWFxgZHR/9oACAEBAAE/EBq+BpzQnJ/O+QZ+k19YxBgpKPrWNSNGVHnjlDI1rTAgFrrn/9k=","aspectRatio":1.5151515151515151,"src":"/static/835d0ba4effaa33da9d87387e25db3f6/0cb3d/capa.jpg","srcSet":"/static/835d0ba4effaa33da9d87387e25db3f6/f836f/capa.jpg 200w,\n/static/835d0ba4effaa33da9d87387e25db3f6/2244e/capa.jpg 400w,\n/static/835d0ba4effaa33da9d87387e25db3f6/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"financiamento-coletivo-crowd-fund/","author":["Matheus"]},"Criar um contrato com bloqueio de tempo":{"title":"Criar um contrato com bloqueio de tempo","description":"Nesse artigo iremos aprender a como criar um contrato com bloqueio de tempo, para agendar a execução de uma transação no futuro.","tags":["Avançado","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjpoYw//EABsQAAEEAwAAAAAAAAAAAAAAAAIAARESBCEi/9oACAEBAAEFAheMg7sIzWve0y//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAfEAABAwMFAAAAAAAAAAAAAAABAAIRAxAxEiFRYXH/2gAIAQEABj8CINQlzpgcIkS7pCcrVtPizb//xAAbEAADAAIDAAAAAAAAAAAAAAAAAREhMUFR8P/aAAgBAQABPyGlIQ6Qa9i4YozMWRlEJkjtse4VMun/2gAMAwEAAgADAAAAEMDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHxABAAIBAwUAAAAAAAAAAAAAAQARITFBUWFxgZHR/9oACAEBAAE/EBtfA2cwJs/OsoZ+yte0YgwUqx8YiRU4arHF6ygbu4hBzeaqf//Z","aspectRatio":1.5151515151515151,"src":"/static/2629545dd94330f8d21b2a4f32d26224/0cb3d/capa.jpg","srcSet":"/static/2629545dd94330f8d21b2a4f32d26224/f836f/capa.jpg 200w,\n/static/2629545dd94330f8d21b2a4f32d26224/2244e/capa.jpg 400w,\n/static/2629545dd94330f8d21b2a4f32d26224/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"bloqueio-de-tempo-timelock/","author":["Matheus"]},"Ether, Wei e Taxa de Gas":{"title":"Ether, Wei e Taxa de Gas","description":"Nesse artigo iremos falar um pouco sobre as taxas de gas da blockchain e como economizar na hora de escrever seu contrato inteligente. Na rede da Ethereum, as transações são pagas com Ether, assim como na rede da Binance Smart Chain, as transações são pagas com BNB, na rede da Polygon as transações são pagas com MATIC e assim por diante.","tags":["Iniciante"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKN2FGD/8QAGRAAAgMBAAAAAAAAAAAAAAAAAhIBBBEQ/9oACAEBAAEFAhnLBuIjqrDc/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGxAAAgIDAQAAAAAAAAAAAAAAAREAAgMxURD/2gAIAQEABj8CIOQm1mhyEh2PIHuNB9m/P//EABoQAAIDAQEAAAAAAAAAAAAAAAERACExQRD/2gAIAQEAAT8hYyCOBKVjinCIgpLEyQdpcR8f/9oADAMBAAIAAwAAABDAz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EACAQAQEAAQIHAQAAAAAAAAAAAAERACGREDFBUWGBodH/2gAIAQEAAT8QGyYGmNBOj+eccI2k1uxiDBSUfWma5zIBo7XPuvI24f/Z","aspectRatio":1.5151515151515151,"src":"/static/70e5a31a625fdd9f843734a36ece7ed2/0cb3d/capa.jpg","srcSet":"/static/70e5a31a625fdd9f843734a36ece7ed2/f836f/capa.jpg 200w,\n/static/70e5a31a625fdd9f843734a36ece7ed2/2244e/capa.jpg 400w,\n/static/70e5a31a625fdd9f843734a36ece7ed2/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"ether-wei-gas/","author":["Matheus"]},"Criar contrato para Multichamada de funções":{"title":"Criar contrato para Multichamada de funções","description":"Nesse artigo iremos aprender a como criar um contrato inteligente para realizar multichamada de funções.","tags":["Avançado","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjoxowf/EABsQAAEEAwAAAAAAAAAAAAAAAAIBBBESECEi/9oACAEBAAEFAhWHB3QRmtet4//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB4QAAICAQUBAAAAAAAAAAAAAAERAAIxAxASUWFx/9oACAEBAAY/AiDqE2s0OoSHbyB5nIJ/Jnb/xAAbEAACAwADAAAAAAAAAAAAAAABEQAhMUFR0f/aAAgBAQABPyFlII4EJ9g4U4REFJYhFwB21M+YMuf/2gAMAwEAAgADAAAAEOAP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHhABAQACAgIDAAAAAAAAAAAAAREAITFxQWGBkdH/2gAIAQEAAT8QGr4GnNCeH895Bn6TX2xiDBSUfjWFYMiRR3k2cuuXNVm2c5//2Q==","aspectRatio":1.5151515151515151,"src":"/static/6bcc01b62a578cfefee7aa0ef4661308/0cb3d/capa.jpg","srcSet":"/static/6bcc01b62a578cfefee7aa0ef4661308/f836f/capa.jpg 200w,\n/static/6bcc01b62a578cfefee7aa0ef4661308/2244e/capa.jpg 400w,\n/static/6bcc01b62a578cfefee7aa0ef4661308/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"contrato-para-multichamadas/","author":["Matheus"]},"Meu primeiro aplicativo":{"title":"Meu primeiro aplicativo","description":"Nesse exemplo iremos criar nosso primeiro aplicativo, onde iremos obter, incrementar e decrementar o valor de um contador.","tags":["Iniciante","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNnFGD/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQISEQQQ/9oACAEBAAEFAlOdD2qrswKw+f/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAICAgMBAAAAAAAAAAAAAAERAAIxUQMQEiH/2gAIAQEABj8CIPITazQ1CQ7HUDzPXx7Uz1//xAAcEAEAAwACAwAAAAAAAAAAAAABABEhEDFBcfD/2gAIAQEAAT8hsZCj0JiseGXEkNU0mgAfsnwOP//aAAwDAQACAAMAAAAQ4M//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAfEAEBAAIABwEAAAAAAAAAAAABEQAhQVFhcYGR0fD/2gAIAQEAAT8QGyYGmNCcH51xwjaTXtjEGCko+NZokEQNO+fiMBCLXnM//9k=","aspectRatio":1.5151515151515151,"src":"/static/c54c6153f2ebe7f53c5437c4799b3683/0cb3d/capa.jpg","srcSet":"/static/c54c6153f2ebe7f53c5437c4799b3683/f836f/capa.jpg 200w,\n/static/c54c6153f2ebe7f53c5437c4799b3683/2244e/capa.jpg 400w,\n/static/c54c6153f2ebe7f53c5437c4799b3683/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"primeiro-aplicativo/","author":["Matheus"]},"If, Else, For e While":{"title":"If, Else, For e While","description":"Entenda como funcionam as instruções condicionais e loops. Nesse artigo iremos abordar o funcionamento das instruções condicionais `if`, `else` e os loops `for`, `while` e `do while` no Solidity.","tags":["Iniciante"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKN2FGD/8QAGRAAAgMBAAAAAAAAAAAAAAAAAhIBBBEQ/9oACAEBAAEFAhnLBuIjqrDc/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHRAAAQQCAwAAAAAAAAAAAAAAAQACEVEDMRASQf/aAAgBAQAGPwIg5CXOmBSJEuNITtdvbW+P/8QAHBABAAMAAgMAAAAAAAAAAAAAAQARIRAxQVHx/9oACAEBAAE/IbGQo9CYrHhlxJDVNJsAD9NlPxx//9oADAMBAAIAAwAAABDAz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB4QAQEAAgICAwAAAAAAAAAAAAERACFhgTFBcZHR/9oACAEBAAE/EBsmBpjQnp/OccI2k19sYgwUlHrWax5EGj5xfxHTJNO+c//Z","aspectRatio":1.5151515151515151,"src":"/static/c841a7f5556990d221914149075e5ebf/0cb3d/capa.jpg","srcSet":"/static/c841a7f5556990d221914149075e5ebf/f836f/capa.jpg 200w,\n/static/c841a7f5556990d221914149075e5ebf/2244e/capa.jpg 400w,\n/static/c841a7f5556990d221914149075e5ebf/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"if-else-for-while/","author":["Matheus"]},"Enum - Enumeradores":{"title":"Enum - Enumeradores","description":"Nesse artigo iremos abordar o funcionamento do `enum` no Solidity. O Solidity suporta os enumeradores e eles são muito úteis para modelar a escolha e acompanhar o estado do seu contrato inteligente.","tags":["Iniciante","Intermediário"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjuxGg//EABkQAAMBAQEAAAAAAAAAAAAAAAECEhEEEP/aAAgBAQABBQJTnQ9hV2ZFYfP/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAcEAACAgIDAAAAAAAAAAAAAAABEQACMVEDEBL/2gAIAQEABj8CIPITazQ1CQ7HUDzPQT3M9f/EABsQAAICAwEAAAAAAAAAAAAAAAERACEQMUHw/9oACAEBAAE/IWEgjoISZHFOERBSWJqAdpc8Rj//2gAMAwEAAgADAAAAEJDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHxABAAIBAwUAAAAAAAAAAAAAAQARIRAxgUFRYXHR/9oACAEBAAE/EBvfA2cwJ0fnmPmbZWuTGIMFKseMTOSigNj3MFbu9NP/2Q==","aspectRatio":1.5151515151515151,"src":"/static/89111c8f919cd99d55925f9bacb78cbd/0cb3d/capa.jpg","srcSet":"/static/89111c8f919cd99d55925f9bacb78cbd/f836f/capa.jpg 200w,\n/static/89111c8f919cd99d55925f9bacb78cbd/2244e/capa.jpg 400w,\n/static/89111c8f919cd99d55925f9bacb78cbd/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"enum/","author":["Matheus"]},"Mapping e Arrays":{"title":"Mapping e Arrays","description":"Nesse artigo iremos abordar como funcionam os `mapping` e `arrays` no Solidity, bem como, quando utilizá-los em seu contrato inteligente.","tags":["Iniciante"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKN2FGD/8QAGRAAAgMBAAAAAAAAAAAAAAAAAhEBBBIQ/9oACAEBAAEFAhlWD2Ii85h8/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGxABAAIDAQEAAAAAAAAAAAAAAQARAjFRAxD/2gAIAQEABj8CR9FyyujkUvJ5C9ywL7N/P//EABwQAAICAgMAAAAAAAAAAAAAAAERACEQMUFR8f/aAAgBAQABPyFjII6CUrHCnCIgpLE1YPpcR8Y//9oADAMBAAIAAwAAABDAz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB8QAQEAAgEEAwAAAAAAAAAAAAERACFBEDFRYYGR0f/aAAgBAQABPxAbJgaY0Jw/nvHCNpNfbGIMFJR+NZvkaJKjxc33sOI6f//Z","aspectRatio":1.5151515151515151,"src":"/static/2850ed1823770eb7913a15c4620cb2da/0cb3d/capa.jpg","srcSet":"/static/2850ed1823770eb7913a15c4620cb2da/f836f/capa.jpg 200w,\n/static/2850ed1823770eb7913a15c4620cb2da/2244e/capa.jpg 400w,\n/static/2850ed1823770eb7913a15c4620cb2da/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"mapping-arrays/","author":["Matheus"]},"Criar um Canal de pagamento unidirecional":{"title":"Criar um Canal de pagamento unidirecional","description":"Nesse artigo iremos aprender a como criar um canal de pagamento unidirecional através de um contrato inteligente.","tags":["Avançado","Aplicações"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjYJLB//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkPcKs1qJ7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHRABAAIBBQEAAAAAAAAAAAAAAQARAgMQEjFRYf/aAAgBAQAGPwJHUXLK6PIpeXyF9zkBfs72/8QAHBAAAgICAwAAAAAAAAAAAAAAAREAIRAxQWHR/9oACAEBAAE/IWUgjoIT7BwpwiIKSxDVDquAP5x//9oADAMBAAIAAwAAABDQz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB8QAQACAQMFAAAAAAAAAAAAAAEAESEQMVFBYYGR0f/aAAgBAQABPxAbXwNnMCdH53lDP2Vr2jEGClWPjEK2PCDY4XeIF48A0//Z","aspectRatio":1.5151515151515151,"src":"/static/d17d563657f561ed94dfdcfa06706daf/0cb3d/capa.jpg","srcSet":"/static/d17d563657f561ed94dfdcfa06706daf/f836f/capa.jpg 200w,\n/static/d17d563657f561ed94dfdcfa06706daf/2244e/capa.jpg 400w,\n/static/d17d563657f561ed94dfdcfa06706daf/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"canal-de-pagamento-unidirecional/","author":["Matheus"]},"Armazenamento de Dados":{"title":"Armazenamento de Dados","description":"Nesse artigo iremos abordar as diversas maneiras de armazenar dados na blockchain com Solidity. Falaremos sobre os tipos `storage`, `memory` e `calldata`.","tags":["Intermediário"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNnFGD/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQISEQQQ/9oACAEBAAEFAlOdD2qrswKw+f/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB4QAAEDBAMAAAAAAAAAAAAAAAEAAhEDEDFREiFx/9oACAEBAAY/AiDUJc6YGkSJcdITlcup8Wbf/8QAGhAAAgMBAQAAAAAAAAAAAAAAAREAITFB8P/aAAgBAQABPyFjII4EJErinCIgpLEsAGd1PATNuf/aAAwDAQACAAMAAAAQ4M//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAdEAEBAAICAwEAAAAAAAAAAAABEQAhUYExQWHR/9oACAEBAAE/EBs+BpzQnp/PuNGDSa7JjEGCko9awAoKMqOL5zRHfmMBEVcyZ//Z","aspectRatio":1.5151515151515151,"src":"/static/f8c1fa2c67ce70d5b947f1cb41a9484d/0cb3d/capa.jpg","srcSet":"/static/f8c1fa2c67ce70d5b947f1cb41a9484d/f836f/capa.jpg 200w,\n/static/f8c1fa2c67ce70d5b947f1cb41a9484d/2244e/capa.jpg 400w,\n/static/f8c1fa2c67ce70d5b947f1cb41a9484d/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"armazenamento/","author":["Matheus"]},"Estruturas - Struct":{"title":"Estruturas - Struct","description":"Nesse artigo iremos abordar o funcionamento do `struct`, ou em português estruturas, no Solidity.","tags":["Iniciante","Intermediário"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKN2FGD/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQISEQQQ/9oACAEBAAEFAlOdD2FXZkVh8//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAEEAgMAAAAAAAAAAAAAAAEAAhFRAzEQEiH/2gAIAQEABj8CIOQlzpgUiRLjSE7XbybW+P/EABsQAAICAwEAAAAAAAAAAAAAAAERACEQMUHw/9oACAEBAAE/IWEgjoISZHFOERBSWJqAHaXPAY//2gAMAwEAAgADAAAAEIDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHhABAAIBBAMAAAAAAAAAAAAAAQARIRBBYYFx0fD/2gAIAQEAAT8QG98DZzAmz65j5m2VrsxiDBSrHrEzlooDY8z4jT//2Q==","aspectRatio":1.5151515151515151,"src":"/static/31259dbbe7dc24376524542a7b5803a7/0cb3d/capa.jpg","srcSet":"/static/31259dbbe7dc24376524542a7b5803a7/f836f/capa.jpg 200w,\n/static/31259dbbe7dc24376524542a7b5803a7/2244e/capa.jpg 400w,\n/static/31259dbbe7dc24376524542a7b5803a7/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"estruturas/","author":["Matheus"]},"Funções e Modificadores":{"title":"Funções e Modificadores","description":"Nesse artigo iremos abordar sobre as várias formas de trabalhar com funções, modificadores e views no Solidity. Falaremos sobre `function`, `view`, `pure` e `function modifier`.","tags":["Iniciante","Intermediário"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjYJLB//EABkQAAMBAQEAAAAAAAAAAAAAAAECERIEEP/aAAgBAQABBQJTOh9hVuciinz/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAcEAEAAgIDAQAAAAAAAAAAAAABABECUQMQEjH/2gAIAQEABj8CR5FyyujUUvJ1C/s9FXvv/8QAHBAAAgICAwAAAAAAAAAAAAAAAREAIRAxQWGh/9oACAEBAAE/IWEgjoISZHCnCIgpLELoA6rhE35j/9oADAMBAAIAAwAAABCgz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB4QAQEAAQMFAAAAAAAAAAAAAAERABAhgTFBYXHR/9oACAEBAAE/EBu+BpzYTs/POPmbSa5OMQYKSjxtgUrIxUe8lElNp0af/9k=","aspectRatio":1.5151515151515151,"src":"/static/4ecdc9216caac28feeed6f5ffd8660dc/0cb3d/capa.jpg","srcSet":"/static/4ecdc9216caac28feeed6f5ffd8660dc/f836f/capa.jpg 200w,\n/static/4ecdc9216caac28feeed6f5ffd8660dc/2244e/capa.jpg 400w,\n/static/4ecdc9216caac28feeed6f5ffd8660dc/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"funcoes/","author":["Matheus"]},"Evento, Construtor e Herança":{"title":"Evento, Construtor e Herança","description":"Nesse artigo iremos abordar sobre como emitir eventos, declarar construtores e definir heranças no seu contrato inteligente. Falaremos sobre `emit`, `constructor` e `herança`.","tags":["Iniciante","Intermediário"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjtgwwf/EABkQAAMBAQEAAAAAAAAAAAAAAAECERIABP/aAAgBAQABBQJTPQ+wq3ORRSe//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAgICAwAAAAAAAAAAAAAAAREAAjFRAxAS/9oACAEBAAY/AiDyE2s0NQkOx1A8z0E5nr//xAAcEAACAgIDAAAAAAAAAAAAAAABEQAhEDFBUdH/2gAIAQEAAT8hYSCOghJkcKcIiCksQugDurheBj//2gAMAwEAAgADAAAAELDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHRABAQACAgMBAAAAAAAAAAAAAREAIWGBMUFx0f/aAAgBAQABPxAbvgac0J6fznHzNpNdnGIMFJR61gmqIzo++caCAl1iTTvnP//Z","aspectRatio":1.5151515151515151,"src":"/static/0333408d42b5592912022b3f7c2d7b4b/0cb3d/capa.jpg","srcSet":"/static/0333408d42b5592912022b3f7c2d7b4b/f836f/capa.jpg 200w,\n/static/0333408d42b5592912022b3f7c2d7b4b/2244e/capa.jpg 400w,\n/static/0333408d42b5592912022b3f7c2d7b4b/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"evento-construtor-heranca/","author":["Matheus"]},"Visibilidade, Interfaces e Funções Pagáveis":{"title":"Visibilidade, Interfaces e Funções Pagáveis","description":"Nesse artigo iremos abordar sobre como interagir com interfaces, funções pagáveis e níveis de visibilidade em funções do seu contrato inteligente. Falaremos sobre `visibility`, `interface` e `payable`.","tags":["Intermediário"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNAcYP/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQIREgQQ/9oACAEBAAEFAlM6H2qrclYafP/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAQABAwUAAAAAAAAAAAAAAAERAAJRAxASMXH/2gAIAQEABj8CR1FuumDFKTc4onuuRE+b/wD/xAAbEAACAgMBAAAAAAAAAAAAAAABEQAxECFBkf/aAAgBAQABPyFjII0EJErjThEQUmxAJAPtpSGPMf/aAAwDAQACAAMAAAAQ4M//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAeEAEBAAIBBQEAAAAAAAAAAAABEQAhgTFBUWFx0f/aAAgBAQABPxAbPgac0J2fz3jRg0muSYxBgpKPGsalCMqPvXN2ylXAIRa+Zn//2Q==","aspectRatio":1.5151515151515151,"src":"/static/0a6ffd21431bc4db8650bc5b9cc7f750/0cb3d/capa.jpg","srcSet":"/static/0a6ffd21431bc4db8650bc5b9cc7f750/f836f/capa.jpg 200w,\n/static/0a6ffd21431bc4db8650bc5b9cc7f750/2244e/capa.jpg 400w,\n/static/0a6ffd21431bc4db8650bc5b9cc7f750/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"visibilidade-interface-pagavel/","author":["Matheus"]},"Enviar Ether com transfer, send e call":{"title":"Enviar Ether com transfer, send e call","description":"Nesse artigo iremos abordar sobre como enviar tokens através das funções `transfer`, `send` e `call` no seu contrato inteligente. Falaremos sobre `transfer`, `send` e `call`.","tags":["Iniciante","Intermediário"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjpowwf/EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkPcKs1Ihu6/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGxABAAIDAQEAAAAAAAAAAAAAAQARAjFRAxD/2gAIAQEABj8CR9FyyujkUvJ5C9ywL7U38//EABsQAAIDAAMAAAAAAAAAAAAAAAERACExEEHB/9oACAEBAAE/IWEgjgQkyOlOERBSWINMGL0jv44//9oADAMBAAIAAwAAABCQD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABwQAQADAQADAQAAAAAAAAAAAAEAESGBQVFh0f/aAAgBAQABPxAb3wNnME8P59j5m2VrpjEGClWPMmE0KCu8iDhhkGhfqf/Z","aspectRatio":1.5151515151515151,"src":"/static/7799ef5ecb3f5a41b643fe61d22ff3c2/0cb3d/capa.jpg","srcSet":"/static/7799ef5ecb3f5a41b643fe61d22ff3c2/f836f/capa.jpg 200w,\n/static/7799ef5ecb3f5a41b643fe61d22ff3c2/2244e/capa.jpg 400w,\n/static/7799ef5ecb3f5a41b643fe61d22ff3c2/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"transfer-send-call/","author":["Matheus"]},"Tratamento de erros de condições e exceções":{"title":"Tratamento de erros de condições e exceções","description":"Nesse artigo iremos abordar sobre como tratar de forma correta os erros de transações e condições no Solidity. Falaremos sobre `require`, `revert` e `assert` para tratar condições e `try / catch` para tratar exceções.","tags":["Iniciante","Intermediário"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNAcYP/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQIREgAE/9oACAEBAAEFAlM9D7Crc4Ghb3//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAdEAABAwUBAAAAAAAAAAAAAAABAAIRAxASMVFB/9oACAEBAAY/AiDUJc6YHESJceITtZerdv/EABkQAAMBAQEAAAAAAAAAAAAAAAABESExQf/aAAgBAQABPyGlIQ8QaMjxlGZiyNQ1MuP7C3TglFrp/9oADAMBAAIAAwAAABCgD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB0QAQACAgIDAAAAAAAAAAAAAAEAESFRMYFBYdH/2gAIAQEAAT8QG18DZzAnh+e4+Ztla7MYgwUqx6xKgcBItNXMFiduI1SPbP/Z","aspectRatio":1.5151515151515151,"src":"/static/4a8e0c0a498d5d44f5a8d1ad187ebf6d/0cb3d/capa.jpg","srcSet":"/static/4a8e0c0a498d5d44f5a8d1ad187ebf6d/f836f/capa.jpg 200w,\n/static/4a8e0c0a498d5d44f5a8d1ad187ebf6d/2244e/capa.jpg 400w,\n/static/4a8e0c0a498d5d44f5a8d1ad187ebf6d/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"tratamento-de-erros/","author":["Matheus"]},"Criar um contrato através de outro contrato":{"title":"Criar um contrato através de outro contrato","description":"Nesse artigo iremos abordar sobre como criar um novo contrato através do seu contrato inteligente. Os contratos podem ser criados por outros contratos usando a palavra-chave `new`.","tags":["Intermediário"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNQYYP/8QAGhABAAIDAQAAAAAAAAAAAAAAAgERBBASIf/aAAgBAQABBQIzWQ+yTfMml7r/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAdEAACAgIDAQAAAAAAAAAAAAABEQACMVEDEBJx/9oACAEBAAY/AiDyE2s0NQkOx1A8z0E/kz1//8QAGhAAAwADAQAAAAAAAAAAAAAAAAERITFB8f/aAAgBAQABPyGjIQ6QaErjFGZiyMoRAp3YvkaP/9oADAMBAAIAAwAAABDAz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB0QAQEAAQQDAAAAAAAAAAAAAAERACExUYFBYdH/2gAIAQEAAT8QGz4GnNBPD8940YNJrsmMQYKSj1pkrRIyo4u+bRGswCIteZn/2Q==","aspectRatio":1.5151515151515151,"src":"/static/e1973327d8472088f5afef4099be4829/0cb3d/capa.jpg","srcSet":"/static/e1973327d8472088f5afef4099be4829/f836f/capa.jpg 200w,\n/static/e1973327d8472088f5afef4099be4829/2244e/capa.jpg 400w,\n/static/e1973327d8472088f5afef4099be4829/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"criar-contrato-simples/","author":["Matheus"]},"Call, Fallback, Delegatecall e chamadas de contratos":{"title":"Call, Fallback, Delegatecall e chamadas de contratos","description":"Nesse artigo iremos abordar sobre a utilização das funções `call`, `fallback`, `delegatecall` e chamadas de outros contratos no seu contrato inteligente. Falaremos sobre `call`, `fallback` e `delegatecall`.","tags":["Intermediário"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEAf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKHYY0P/8QAGhAAAgMBAQAAAAAAAAAAAAAAAQIAERIEIf/aAAgBAQABBQJTXQ+1VbyRTewT/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAgICAwAAAAAAAAAAAAAAAREAAjFRAxAh/9oACAEBAAY/AiDyE2s0NQkOx1A8x+Pamev/xAAbEAADAQADAQAAAAAAAAAAAAAAAREhMUFx0f/aAAgBAQABPyGjIQ8INCV0yjMxZGoTCq+hZ+Cprp//2gAMAwEAAgADAAAAEODP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHRABAQACAQUAAAAAAAAAAAAAAREAIYExQVFh0f/aAAgBAQABPxAbPgac0J2fnvGjBpNckxiDBSUeNY2P1MKPFxkgHGi0O+kz/9k=","aspectRatio":1.5151515151515151,"src":"/static/f1bb916edf32bdc1f9fdbfd9aac26ffe/0cb3d/capa.jpg","srcSet":"/static/f1bb916edf32bdc1f9fdbfd9aac26ffe/f836f/capa.jpg 200w,\n/static/f1bb916edf32bdc1f9fdbfd9aac26ffe/2244e/capa.jpg 400w,\n/static/f1bb916edf32bdc1f9fdbfd9aac26ffe/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"call-fallback-delegatecall/","author":["Matheus"]},"Import e Libraries, para que servem?":{"title":"Import e Libraries, para que servem?","description":"Nesse artigo iremos abordar sobre como importar novas libraries em seu contrato inteligente.","tags":["Iniciante","Intermediário"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNQYYP/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQIREgQQ/9oACAEBAAEFAlM6H2FW5Kii+f/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAICAgMBAAAAAAAAAAAAAAERAAIxUQMQEnH/2gAIAQEABj8CIPITazQ1CQ7HUDzPQT+TPX//xAAbEAEBAAMAAwAAAAAAAAAAAAABEQAhMRBBsf/aAAgBAQABPyGhIQ8GKMj01cSQyNmCZCe9Ymz48f/aAAwDAQACAAMAAAAQsM//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAcEAEAAgIDAQAAAAAAAAAAAAABABEhMUFhgdH/2gAIAQEAAT8QG98DZzAnD87j5m2Vr0xiDBSrHzERSKNVvdwGhriKreZ//9k=","aspectRatio":1.5151515151515151,"src":"/static/2a62abdd95304cd5fd33c1a19c456f7c/0cb3d/capa.jpg","srcSet":"/static/2a62abdd95304cd5fd33c1a19c456f7c/f836f/capa.jpg 200w,\n/static/2a62abdd95304cd5fd33c1a19c456f7c/2244e/capa.jpg 400w,\n/static/2a62abdd95304cd5fd33c1a19c456f7c/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"import-e-libraries/","author":["Matheus"]},"Verificando assinatura hashing com Keccak256":{"title":"Verificando assinatura hashing com Keccak256","description":"Nesse artigo iremos abordar sobre como verificar uma assinatura hashing através da função keccak256.","tags":["Intermediário","Avançado"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNAcYP/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQIREgQQ/9oACAEBAAEFAlM6H2FW5KxqfP/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAQABAwUAAAAAAAAAAAAAAAERAAJRAxASMXH/2gAIAQEABj8CR1FuumDFKTc4onuuRE+b/wD/xAAcEAACAgIDAAAAAAAAAAAAAAABEQAhMUEQYZH/2gAIAQEAAT8hYSCOAhJkaU4REFJYgkAHvKdo84//2gAMAwEAAgADAAAAEKDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHxABAQABAgcAAAAAAAAAAAAAAREAIVExQWFxgZHR/9oACAEBAAE/EBu+BpzQTk/OuPmbSa9sYgwUlHxpkL5jJR3x42ltgEItd5n/2Q==","aspectRatio":1.5151515151515151,"src":"/static/f5b7dabf1528a0cc98ff58f3af53bd6c/0cb3d/capa.jpg","srcSet":"/static/f5b7dabf1528a0cc98ff58f3af53bd6c/f836f/capa.jpg 200w,\n/static/f5b7dabf1528a0cc98ff58f3af53bd6c/2244e/capa.jpg 400w,\n/static/f5b7dabf1528a0cc98ff58f3af53bd6c/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"assinaturas-e-hashing-keccak/","author":["Matheus"]},"Ataque de reentrada, aprenda como funciona e como evitar":{"title":"Ataque de reentrada, aprenda como funciona e como evitar","description":"Nesse artigo iremos aprender a como um contrato malicioso de reentrada funciona e como previnir um ataque em seu contrato inteligente.","tags":["Intermediário","Hacks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjsxgwf/EABkQAAMBAQEAAAAAAAAAAAAAAAECEhEEEP/aAAgBAQABBQJTnQ9hV2ZFef/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAICAgMBAAAAAAAAAAAAAAERAAIxUQMQEkH/2gAIAQEABj8CIPITazQ1GHY6geZ6+zPX/8QAGxAAAgIDAQAAAAAAAAAAAAAAAREAIRAxQVH/2gAIAQEAAT8hYSCOghFpHFOERBSWJrAB2VcR9Y//2gAMAwEAAgADAAAAELDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHhABAAIBBAMAAAAAAAAAAAAAAQARIUFhgdExcZH/2gAIAQEAAT8QG98DZzAmj1vH/EsrX0RiDBSrHjEzXooTY91cW0uDqVRXnef/2Q==","aspectRatio":1.5151515151515151,"src":"/static/1b748035448b3f0bf54995a07df36894/0cb3d/capa.jpg","srcSet":"/static/1b748035448b3f0bf54995a07df36894/f836f/capa.jpg 200w,\n/static/1b748035448b3f0bf54995a07df36894/2244e/capa.jpg 400w,\n/static/1b748035448b3f0bf54995a07df36894/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"ataque-de-reentrada/","author":["Matheus"]},"O que é ABI e para que serve?":{"title":"O que é ABI e para que serve?","description":"Nesse artigo iremos abordar sobre o que é uma ABI do contrato inteligente, para que serve e como codificar e decodificar.","tags":["Iniciante"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAgAE/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAAB2aGhSj//xAAbEAACAgMBAAAAAAAAAAAAAAABAhESBBAhIv/aAAgBAQABBQJTGQ91VZqR67r/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAbEAEAAgMBAQAAAAAAAAAAAAABABECMVEDEP/aAAgBAQAGPwJH0XLK6ORS8nkL3LAvtTfz/8QAGhAAAwEBAQEAAAAAAAAAAAAAAAERITFBsf/aAAgBAQABPyGjIQ8QxWPGUZmLI1CE6id6Ddz4E6qf/9oADAMBAAIAAwAAABDgD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB4QAQEAAgAHAAAAAAAAAAAAAAERACExQWFxgZHR/9oACAEBAAE/EBsmBpjQnJ+dccI2k17YxBgpKPjWP00QKO+C0MSVxTP/2Q==","aspectRatio":1.5151515151515151,"src":"/static/42df3309b7542fea4a5ce3dc0420d247/0cb3d/capa.jpg","srcSet":"/static/42df3309b7542fea4a5ce3dc0420d247/f836f/capa.jpg 200w,\n/static/42df3309b7542fea4a5ce3dc0420d247/2244e/capa.jpg 400w,\n/static/42df3309b7542fea4a5ce3dc0420d247/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"abi/","author":["Matheus"]},"Ataques com estouro de memória":{"title":"Ataques com estouro de memória","description":"Nesse artigo iremos aprender a como um contrato malicioso de estouro de memória funciona e como previnir um ataque em seu contrato inteligente.","tags":["Intermediário","Hacks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjaQLB//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDeBG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHRAAAgICAwEAAAAAAAAAAAAAAREAAjFRAxASQf/aAAgBAQAGPwIg8hNrNDUYdjqB5nr7M9f/xAAcEAEBAAICAwAAAAAAAAAAAAABEQAhEDFBUaH/2gAIAQEAAT8hoSEPQxLiPDVxJDI2Y2AD3mBW/nj/2gAMAwEAAgADAAAAEKDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHRABAQACAgMBAAAAAAAAAAAAAREAITFhQYGR0f/aAAgBAQABPxAbvgac0J4fzvH/ABKTX0YxBgpKPrWDT4iTU7ZcbsJOAGBCc95//9k=","aspectRatio":1.5151515151515151,"src":"/static/625dd8ba4502cc3959569a82ba3ab456/0cb3d/capa.jpg","srcSet":"/static/625dd8ba4502cc3959569a82ba3ab456/f836f/capa.jpg 200w,\n/static/625dd8ba4502cc3959569a82ba3ab456/2244e/capa.jpg 400w,\n/static/625dd8ba4502cc3959569a82ba3ab456/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"estouro-de-memoria/","author":["Matheus"]},"Acessando variáveis privadas":{"title":"Acessando variáveis privadas","description":"Nesse artigo iremos aprender a como um contrato malicioso age para acessar variáveis privadas e como previnir um ataque em seu contrato inteligente.","tags":["Intermediário","Hacks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDeBG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHRAAAgICAwEAAAAAAAAAAAAAAREAAjFRAxASQf/aAAgBAQAGPwIg8hNrNDUYdjqB5nr7M9f/xAAbEAEBAQACAwAAAAAAAAAAAAABEQAhQTFh0f/aAAgBAQABPyGhIQ+BkuI6cXJIZHJkkAH3NK+cce9//9oADAMBAAIAAwAAABCwD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB8QAQACAgAHAAAAAAAAAAAAAAEAESFRMUFhcYGR0f/aAAgBAQABPxAb3wNnMCcn51j/AIlla9iMQYKVY+MTCGhrutXx1CkOHZAilVtn/9k=","aspectRatio":1.5151515151515151,"src":"/static/e12be764d7fd040493045ce2ff058bfb/0cb3d/capa.jpg","srcSet":"/static/e12be764d7fd040493045ce2ff058bfb/f836f/capa.jpg 200w,\n/static/e12be764d7fd040493045ce2ff058bfb/2244e/capa.jpg 400w,\n/static/e12be764d7fd040493045ce2ff058bfb/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"acessando-variaveis-privadas/","author":["Matheus"]},"Como realizar testes com Echidna":{"title":"Como realizar testes com Echidna","description":"Nesse artigo iremos aprender a como realizar testes em um contrato inteligente com Echidna.","tags":["Intermediário"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDcRG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAQUAAwAAAAAAAAAAAAAAAQACETFRAxAS/9oACAEBAAY/AiDyEudMDESJccQm16F6r6//xAAcEAACAgIDAAAAAAAAAAAAAAABEQAhEEExUcH/2gAIAQEAAT8hYyCPAQkStKcIiCksQuAAPpc184//2gAMAwEAAgADAAAAEPDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHRABAAICAgMAAAAAAAAAAAAAAQARIUFhgTFx0f/aAAgBAQABPxAbnwNnMCafnMaMGytdkjEGClWPWIYJ1NOHvzKto3hmBRS3yz//2Q==","aspectRatio":1.5151515151515151,"src":"/static/e9bbad49535537049de7b1971c5eda22/0cb3d/capa.jpg","srcSet":"/static/e9bbad49535537049de7b1971c5eda22/f836f/capa.jpg 200w,\n/static/e9bbad49535537049de7b1971c5eda22/2244e/capa.jpg 400w,\n/static/e9bbad49535537049de7b1971c5eda22/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"testes-com-echidna/","author":["Matheus"]},"Ataques com Auto-destruição":{"title":"Ataques com Auto-destruição","description":"Nesse artigo iremos aprender a como um contrato malicioso de auto-destruição funciona e como previnir um ataque em seu contrato inteligente.","tags":["Intermediário","Hacks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjsxgwf/EABkQAAMBAQEAAAAAAAAAAAAAAAECEhEEEP/aAAgBAQABBQJTnQ9hV2YFef/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAICAgMBAAAAAAAAAAAAAAERAAIxUQMQEkH/2gAIAQEABj8CIPITazQ1GHY6geZ6+zPX/8QAGhAAAwEBAQEAAAAAAAAAAAAAAAERIUExUf/aAAgBAQABPyGhIQ+IM3EcZRmYsjUaESvsVI/oWdp//9oADAMBAAIAAwAAABCQD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB4QAQEAAQMFAAAAAAAAAAAAAAERACFh0UFRgZHh/9oACAEBAAE/EBu+BpzQTo8b4/4lJr2MYgwUlHxpgJAETpO1lx+UcYERW5z/2Q==","aspectRatio":1.5151515151515151,"src":"/static/caf59a546ce37351201ba2cef671b2e7/0cb3d/capa.jpg","srcSet":"/static/caf59a546ce37351201ba2cef671b2e7/f836f/capa.jpg 200w,\n/static/caf59a546ce37351201ba2cef671b2e7/2244e/capa.jpg 400w,\n/static/caf59a546ce37351201ba2cef671b2e7/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"auto-destruicao/","author":["Matheus"]},"Chamada de função delegatecall":{"title":"Chamada de função delegatecall","description":"Nesse artigo iremos aprender a como um contrato malicioso age para acessar e chamar as funções delegatecall e como previnir um ataque em seu contrato inteligente.","tags":["Intermediário","Hacks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNQYYP/8QAGxAAAQQDAAAAAAAAAAAAAAAAAgEEERIQISL/2gAIAQEAAQUCFYcHdBGa163j/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHRAAAgICAwEAAAAAAAAAAAAAAREAAjFRAxAScf/aAAgBAQAGPwIg8hNrNDUYdjqB5noJ/Jnr/8QAGxAAAgIDAQAAAAAAAAAAAAAAAREAIRAxQfD/2gAIAQEAAT8hYSCOghFpHFOERBSWIRqB0dp7WP/aAAwDAQACAAMAAAAQkM//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAeEAEAAgEEAwAAAAAAAAAAAAABABEhMUFhcYGR0f/aAAgBAQABPxAb3wNnMCbPzmP+JZWvYjEGClWPjELYMqko71gW3nWGheWf/9k=","aspectRatio":1.5151515151515151,"src":"/static/4d6204851247e386e17625b5cb176d70/0cb3d/capa.jpg","srcSet":"/static/4d6204851247e386e17625b5cb176d70/f836f/capa.jpg 200w,\n/static/4d6204851247e386e17625b5cb176d70/2244e/capa.jpg 400w,\n/static/4d6204851247e386e17625b5cb176d70/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"chamada-de-funcao-delegatecall/","author":["Matheus"]},"Fonte de Aleatoriedade":{"title":"Fonte de Aleatoriedade","description":"Nesse artigo iremos aprender a como um contrato malicioso age para descobrir um valor através das fontes de aleatoriedade e como previnir um ataque em seu contrato inteligente.","tags":["Intermediário","Hacks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkPcKs1qJ7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAQUAAwAAAAAAAAAAAAAAAQACETFRAxAS/9oACAEBAAY/AiDyEudMDFIlxxCbXoXqvr//xAAcEAEAAgEFAAAAAAAAAAAAAAABABEhEDFBUdH/2gAIAQEAAT8hsJCjsIl0jhi4khqmSJMAfSGfnT//2gAMAwEAAgADAAAAELDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHhABAQABAwUAAAAAAAAAAAAAAREAIUFhMVGBkdH/2gAIAQEAAT8QG74GnNBNn5zj/iUmvYxiDBSUfGmGU6MbO164EB0bwYEIt5c//9k=","aspectRatio":1.5151515151515151,"src":"/static/62c4bbfcbae1b06546188130c127ba07/0cb3d/capa.jpg","srcSet":"/static/62c4bbfcbae1b06546188130c127ba07/f836f/capa.jpg 200w,\n/static/62c4bbfcbae1b06546188130c127ba07/2244e/capa.jpg 400w,\n/static/62c4bbfcbae1b06546188130c127ba07/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"fonte-de-aleatoriedade/","author":["Matheus"]},"Inutilizar um contrato através da negação de serviço":{"title":"Inutilizar um contrato através da negação de serviço","description":"Nesse artigo iremos aprender a como um contrato malicioso age para tornar um contrato inutilizável e como previnir um ataque em seu contrato inteligente.","tags":["Intermediário","Hacks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjpoYw//EABsQAAEEAwAAAAAAAAAAAAAAAAIBBBESECEi/9oACAEBAAEFAhWHB3QRmtet4//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABwQAAICAgMAAAAAAAAAAAAAAAERAAIxUQMQEv/aAAgBAQAGPwIg8hNrNDUYdjqB5noJ7Uz1/8QAGxABAAICAwAAAAAAAAAAAAAAAQARITFBcdH/2gAIAQEAAT8hsJCjoRLpHDFxJDVMkSKg+ya+Yay3P//aAAwDAQACAAMAAAAQsM//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAeEAEAAgIBBQAAAAAAAAAAAAABABEhUWFBcYGR0f/aAAgBAQABPxAb3wNnMCdH5zH/ABLK17EYgwUqx8YheAU0YavUrkdkKHI3U//Z","aspectRatio":1.5151515151515151,"src":"/static/202df82b71ba02e956b2804120035a2c/0cb3d/capa.jpg","srcSet":"/static/202df82b71ba02e956b2804120035a2c/f836f/capa.jpg 200w,\n/static/202df82b71ba02e956b2804120035a2c/2244e/capa.jpg 400w,\n/static/202df82b71ba02e956b2804120035a2c/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"negacao-de-servico/","author":["Matheus"]},"Phishing com tx.origin":{"title":"Phishing com tx.origin","description":"Nesse artigo iremos aprender a como um contrato malicioso realiza phishing com tx.origin e como previnir um ataque em seu contrato inteligente.","tags":["Intermediário","Hacks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABsQAAEEAwAAAAAAAAAAAAAAAAIBBBESECEi/9oACAEBAAEFAhWHB3QRmtet4//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAICAgMBAAAAAAAAAAAAAAERAAIxUQMQEnH/2gAIAQEABj8CIPITazQ1GHY6geZ6CfyZ6//EABsQAQADAAMBAAAAAAAAAAAAAAEAESExQWHR/9oACAEBAAE/IbCQo8CJdI6ZcSQ1TSJGAffKOfmGez//2gAMAwEAAgADAAAAEIAP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHhABAQACAQUBAAAAAAAAAAAAAREAIVFBYXGBkdH/2gAIAQEAAT8QG74GnNCdH874/wCJSa+jGIMFJR9awoARlpxcA028MCItcuf/2Q==","aspectRatio":1.5151515151515151,"src":"/static/e3699dab901b1a9fdcc21cc2d5ee41ae/0cb3d/capa.jpg","srcSet":"/static/e3699dab901b1a9fdcc21cc2d5ee41ae/f836f/capa.jpg 200w,\n/static/e3699dab901b1a9fdcc21cc2d5ee41ae/2244e/capa.jpg 400w,\n/static/e3699dab901b1a9fdcc21cc2d5ee41ae/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"phishing-com-txorigin/","author":["Matheus"]},"Como um contrato malicioso esconde seu script":{"title":"Como um contrato malicioso esconde seu script","description":"Nesse artigo iremos aprender a como um contrato malicioso consegue ocultar seu script malicioso e como previnir um ataque em seu contrato inteligente.","tags":["Intermediário","Hacks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABsQAAEEAwAAAAAAAAAAAAAAAAIBBBESECEi/9oACAEBAAEFAhWHB3QRmtet4//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAICAgMBAAAAAAAAAAAAAAERAAIxUQMQEnH/2gAIAQEABj8CIPITazQ1GHY6geZ6CfyZ6//EABsQAAMAAwEBAAAAAAAAAAAAAAABESExQWHw/9oACAEBAAE/IaEhDpBm4jjFGZiyMoaqBH7sfcFj0//aAAwDAQACAAMAAAAQgA//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAfEAEBAAEDBQEAAAAAAAAAAAABEQAhUWExQXGBkdH/2gAIAQEAAT8QG74GnNBOz+c4/wCJSa+jGIMFJR9aY1AEZaNr1xI8tmCIryc//9k=","aspectRatio":1.5151515151515151,"src":"/static/7e8a7ddccf40e6b4029c7df7dbfddb32/0cb3d/capa.jpg","srcSet":"/static/7e8a7ddccf40e6b4029c7df7dbfddb32/f836f/capa.jpg 200w,\n/static/7e8a7ddccf40e6b4029c7df7dbfddb32/2244e/capa.jpg 400w,\n/static/7e8a7ddccf40e6b4029c7df7dbfddb32/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"ocultar-script-malicioso/","author":["Matheus"]},"Criar uma armadilha para hackers com a técnica honeypot":{"title":"Criar uma armadilha para hackers com a técnica honeypot","description":"Nesse artigo iremos aprender a como desenvolver um contrato inteligente para atrair e pegar hackers e contratos maliciosos através da técnica honeypot (pote de mel).","tags":["Intermediário","Hacks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABsQAAEEAwAAAAAAAAAAAAAAAAIBBBESECEi/9oACAEBAAEFAhWHB3QRmtet4//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAEEAgMAAAAAAAAAAAAAAAEAAhExA1EQEnH/2gAIAQEABj8CIOQlzpgaUiXHSE2uwvxXx//EABsQAQACAwEBAAAAAAAAAAAAAAEAESExQaHw/9oACAEBAAE/IbCQo6ES6Rxi4khqmSJMQXdo/ZPZ/9oADAMBAAIAAwAAABCAD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB8QAQEAAQIHAAAAAAAAAAAAAAERACGBMUFRYXGR0f/aAAgBAQABPxAbvgac0E5Pzvj/AIlJr2MYgwUlHbTHpHRlR544AibIwEItdc//2Q==","aspectRatio":1.5151515151515151,"src":"/static/7cb2ab2781a12795a917634d9c36fc8c/0cb3d/capa.jpg","srcSet":"/static/7cb2ab2781a12795a917634d9c36fc8c/f836f/capa.jpg 200w,\n/static/7cb2ab2781a12795a917634d9c36fc8c/2244e/capa.jpg 400w,\n/static/7cb2ab2781a12795a917634d9c36fc8c/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"honeypot/","author":["Matheus"]},"Ataque utilizando a técnica front running":{"title":"Ataque utilizando a técnica front running","description":"Nesse artigo iremos aprender a como um contrato malicioso utiliza a técnica de front running para antecipar uma transação durante outra transação.","tags":["Intermediário","Hacks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABsQAAEEAwAAAAAAAAAAAAAAAAIBBBESECEi/9oACAEBAAEFAhWHB3QRmtet4//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAEEAgMAAAAAAAAAAAAAAAEAAhExA1EQEnH/2gAIAQEABj8CIOQlzpgaUiXHSE2uwvxXx//EABsQAQACAwEBAAAAAAAAAAAAAAEAESExQaHw/9oACAEBAAE/IbCQo6ES6Rxi4khqmSJMQXdo/ZPZ/9oADAMBAAIAAwAAABCAD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB8QAQEAAQIHAAAAAAAAAAAAAAERACGBMUFRYXGR0f/aAAgBAQABPxAbvgac0E5Pzvj/AIlJr2MYgwUlHbTHpHRlR544AibIwEItdc//2Q==","aspectRatio":1.5151515151515151,"src":"/static/7cb2ab2781a12795a917634d9c36fc8c/0cb3d/capa.jpg","srcSet":"/static/7cb2ab2781a12795a917634d9c36fc8c/f836f/capa.jpg 200w,\n/static/7cb2ab2781a12795a917634d9c36fc8c/2244e/capa.jpg 400w,\n/static/7cb2ab2781a12795a917634d9c36fc8c/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"ataque-front-running/","author":["Matheus"]},"Manipulando o timestamp do bloco na blockchain":{"title":"Manipulando o timestamp do bloco na blockchain","description":"Nesse artigo iremos aprender a como um contrato malicioso consegue manipular a data e hora do bloco de uma blockchain.","tags":["Intermediário","Hacks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKNWAYP/8QAGhAAAgIDAAAAAAAAAAAAAAAAAQIREgQQIf/aAAgBAQABBQJTGQ9wqzWonuv/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAcEAABBAMBAAAAAAAAAAAAAAABAAIRMQMQURL/2gAIAQEABj8CIOQlzpgcUiXHiE2vQtXr/8QAGxABAQEAAgMAAAAAAAAAAAAAAREAIUEQMdH/2gAIAQEAAT8hoSEPoZLiOnFySGRyZtAH3NK+fH//2gAMAwEAAgADAAAAEKDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHhABAQABAwUAAAAAAAAAAAAAAREAIUFhMXGBkdH/2gAIAQEAAT8QG74GnNBNn5zj/iUmvYxiDBSUfGmGKdElU79cFN0bkYEAW85//9k=","aspectRatio":1.5151515151515151,"src":"/static/56452a8c9a7dbe221f97c569817ea87a/0cb3d/capa.jpg","srcSet":"/static/56452a8c9a7dbe221f97c569817ea87a/f836f/capa.jpg 200w,\n/static/56452a8c9a7dbe221f97c569817ea87a/2244e/capa.jpg 400w,\n/static/56452a8c9a7dbe221f97c569817ea87a/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"manipular-timestamp-do-bloco/","author":["Matheus"]},"Como realizar Swap com Uniswap V2":{"title":"Como realizar Swap com Uniswap V2","description":"Nesse artigo iremos aprender a como realizar uma troca de tokens utilizando o Uniswap V2.","tags":["Intermediário","DeFi"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKN2FGD/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQISEQQQ/9oACAEBAAEFAlOdD2qrsyKw+f/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABwQAAICAgMAAAAAAAAAAAAAAAERAAIxUQMQEv/aAAgBAQAGPwIg8hNrNDUYdjqB5npBzPX/xAAbEAACAgMBAAAAAAAAAAAAAAABEQAhEDFB8P/aAAgBAQABPyFlII6CESkcU4REFJYmoB2Vc8Bj/9oADAMBAAIAAwAAABDAz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB8QAQACAQMFAAAAAAAAAAAAAAEAESEQQWFxgZHR8P/aAAgBAQABPxAbXwNnMCbPrmNOJZWvIjEGClWPbEz1IqnY6z4jT//Z","aspectRatio":1.5151515151515151,"src":"/static/8776fadf9d5210d455dc52cf26da2957/0cb3d/capa.jpg","srcSet":"/static/8776fadf9d5210d455dc52cf26da2957/f836f/capa.jpg 200w,\n/static/8776fadf9d5210d455dc52cf26da2957/2244e/capa.jpg 400w,\n/static/8776fadf9d5210d455dc52cf26da2957/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"swap-com-uniswap-v2/","author":["Matheus"]},"Repetição de assinatura":{"title":"Repetição de assinatura","description":"Nesse artigo iremos aprender a como um contrato malicioso consegue utilizar da técnica de repetição de assinatura para burlar um contrato inteligente.","tags":["Avançado","Hacks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjoxowf/EABsQAAEEAwAAAAAAAAAAAAAAAAIBBBESECEi/9oACAEBAAEFAhWHB3QRmte94//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB4QAAICAQUBAAAAAAAAAAAAAAERAAIxAxASUWFx/9oACAEBAAY/AiDqE2s0OoSHbyB5nIJ/Jnb/xAAaEAEAAwEBAQAAAAAAAAAAAAABABExIUHw/9oACAEBAAE/IbKQo4Ir7Dxy4khqnSIEARup9VDOz//aAAwDAQACAAMAAAAQ8A//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAdEAEBAAEEAwAAAAAAAAAAAAABEQAhMUGBYZHR/9oACAEBAAE/EBq+BpzQTh+ecZkek17YxBgpKPWmTAMZV3viUZXNV5Zn/9k=","aspectRatio":1.5151515151515151,"src":"/static/58c454c3530008b30bd0954a9ce994c1/0cb3d/capa.jpg","srcSet":"/static/58c454c3530008b30bd0954a9ce994c1/f836f/capa.jpg 200w,\n/static/58c454c3530008b30bd0954a9ce994c1/2244e/capa.jpg 400w,\n/static/58c454c3530008b30bd0954a9ce994c1/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"repeticao-de-assinatura/","author":["Matheus"]},"Como ignorar a verificação do tamanho do contrato":{"title":"Como ignorar a verificação do tamanho do contrato","description":"Nesse artigo iremos aprender a como um contrato malicioso consegue ignorar a verificação do tamanho de um contrato inteligente.","tags":["Intermediário","Hacks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjoxowf/EABsQAAEEAwAAAAAAAAAAAAAAAAIBBBESECEi/9oACAEBAAEFAhWHB3QRmtet4//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAICAgMBAAAAAAAAAAAAAAERAAIxUQMQEnH/2gAIAQEABj8CIPITazQ1GHY6geZ6CfyZ6//EABoQAAMBAQEBAAAAAAAAAAAAAAABESExQfD/2gAIAQEAAT8hoSEPEGbiPGUZmLI1DW4Gy9H3Bc0//9oADAMBAAIAAwAAABCwD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB4QAQEAAgEFAQAAAAAAAAAAAAERACFhMUFxgZHR/9oACAEBAAE/EBu+BpzQnZ/Ocf8AEpNfRjEGCko+tYUAaiFHnIo6cRlzVZtnXP/Z","aspectRatio":1.5151515151515151,"src":"/static/27cd461d61784e0dbcbedfd70eee73ac/0cb3d/capa.jpg","srcSet":"/static/27cd461d61784e0dbcbedfd70eee73ac/f836f/capa.jpg 200w,\n/static/27cd461d61784e0dbcbedfd70eee73ac/2244e/capa.jpg 400w,\n/static/27cd461d61784e0dbcbedfd70eee73ac/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"ignorar-verificacao-do-tamanho-do-contrato/","author":["Matheus"]},"Fornecimento unilateral ideal com Uniswap V2":{"title":"Fornecimento unilateral ideal com Uniswap V2","description":"Nesse artigo iremos aprender a como adicionar liquidez em uma pool e realizar swap de tokens utilizando o Uniswap V2.","tags":["Intermediário","Avançado","DeFi"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDeBG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAQQDAQAAAAAAAAAAAAAAAQACETEDEFES/9oACAEBAAY/AiDkJc6YHFLZceITa9C1ev/EABsQAQADAAMBAAAAAAAAAAAAAAEAESEQMUHx/9oACAEBAAE/IbKQo9CJaC8ZcSQ1TSOQB5dQPjx//9oADAMBAAIAAwAAABCgz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB0QAQEAAgIDAQAAAAAAAAAAAAERACFhgTFBcdH/2gAIAQEAAT8QGr4GnNCen85w/gUmuzjEGCko9awyBlTqffOUx04BgQi3nP/Z","aspectRatio":1.5151515151515151,"src":"/static/96bdd707aeb59beb002c97a01ab4ec42/0cb3d/capa.jpg","srcSet":"/static/96bdd707aeb59beb002c97a01ab4ec42/f836f/capa.jpg 200w,\n/static/96bdd707aeb59beb002c97a01ab4ec42/2244e/capa.jpg 400w,\n/static/96bdd707aeb59beb002c97a01ab4ec42/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"fornecimento-unilateral-com-uniswap-v2/","author":["Matheus"]},"Como adicionar e remover liquidez com Uniswap V2":{"title":"Como adicionar e remover liquidez com Uniswap V2","description":"Nesse artigo iremos aprender a como adicionar e remover liquidez de uma pool utilizando o Uniswap V2.","tags":["Intermediário","Avançado","DeFi"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDeBG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHRAAAgICAwEAAAAAAAAAAAAAAREAAjFRAxASQf/aAAgBAQAGPwIg8hNrNDUdXY6geZ6+zPX/xAAaEAEBAQADAQAAAAAAAAAAAAABEQAhMUHR/9oACAEBAAE/IaUhD0MloLxxckhkcmlAL9hgr4wT27//2gAMAwEAAgADAAAAELAP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHBABAQACAwEBAAAAAAAAAAAAAREAIVFhgUHR/9oACAEBAAE/EBq+BpzQnx/O8P4FJr04xBgpKPmsWDdDvJxZctDq8AmIIrszP//Z","aspectRatio":1.5151515151515151,"src":"/static/53907e82e3e225ec528ceadbb049bc69/0cb3d/capa.jpg","srcSet":"/static/53907e82e3e225ec528ceadbb049bc69/f836f/capa.jpg 200w,\n/static/53907e82e3e225ec528ceadbb049bc69/2244e/capa.jpg 400w,\n/static/53907e82e3e225ec528ceadbb049bc69/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"adicionar-e-remover-liquidez-com-uniswap-v2/","author":["Matheus"]},"Como criar um sistema de preços Oracle":{"title":"Como criar um sistema de preços Oracle","description":"Nesse artigo iremos aprender a como criar um sistema de preços Chainlink Oracle para seu projeto, token ou jogo NFT.","tags":["Intermediário","Avançado","DeFi"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAECERIEECH/2gAIAQEAAQUCUxkPcKs1Ki3df//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABwQAAICAgMAAAAAAAAAAAAAAAERAAIxUQMQEv/aAAgBAQAGPwIg8hNrNDUdXY6geZ6Ccz1//8QAGxABAAICAwAAAAAAAAAAAAAAAQARITEQQfH/2gAIAQEAAT8hspCjoRLQXTFxJDVMkwgHtqV4cf/aAAwDAQACAAMAAAAQsM//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAdEAEBAAEFAQEAAAAAAAAAAAABEQAhQWFxgTHR/9oACAEBAAE/EBq+BpzQTZ/OcP4FJr04xBgpKPmmAgJI1Tv7gKbeuBCW85//2Q==","aspectRatio":1.5151515151515151,"src":"/static/1384d933f5cc722c570050af4b7f51ee/0cb3d/capa.jpg","srcSet":"/static/1384d933f5cc722c570050af4b7f51ee/f836f/capa.jpg 200w,\n/static/1384d933f5cc722c570050af4b7f51ee/2244e/capa.jpg 400w,\n/static/1384d933f5cc722c570050af4b7f51ee/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"sistema-de-preco-chainlink-oracle/","author":["Matheus"]},"Exemplos de uso do Uniswap V3":{"title":"Exemplos de uso do Uniswap V3","description":"Nesse artigo iremos aprender a como utilizar o Uniswap V3.","tags":["Intermediário","Avançado","DeFi"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDeBG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAQQDAQAAAAAAAAAAAAAAAQACETEDEFES/9oACAEBAAY/AiDkJc6YHFLZceITa9C1ev/EABsQAQADAAMBAAAAAAAAAAAAAAEAESEQMUHx/9oACAEBAAE/IbKQo9CJaC8ZcSQ1TSOQB5dQPjx//9oADAMBAAIAAwAAABCgz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB0QAQEAAgIDAQAAAAAAAAAAAAERACFhgTFBcdH/2gAIAQEAAT8QGr4GnNCen85w/gUmuzjEGCko9awyBlTqffOUx04BgQi3nP/Z","aspectRatio":1.5151515151515151,"src":"/static/ae02221f62f999ee1c60845b6e97fdd8/0cb3d/capa.jpg","srcSet":"/static/ae02221f62f999ee1c60845b6e97fdd8/f836f/capa.jpg 200w,\n/static/ae02221f62f999ee1c60845b6e97fdd8/2244e/capa.jpg 400w,\n/static/ae02221f62f999ee1c60845b6e97fdd8/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"exemplos-de-uso-do-uniswap-v3/","author":["Matheus"]},"Como criar um sistema de Cofre":{"title":"Como criar um sistema de Cofre","description":"Nesse artigo iremos aprender a como criar um sistema de cofre para seu projeto, token ou jogo NFT.","tags":["Intermediário","DeFi"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKN2FGD/8QAGhAAAgIDAAAAAAAAAAAAAAAAAhIBEQQQIf/aAAgBAQABBQIZrINxEbVYbuv/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAcEAACAgIDAAAAAAAAAAAAAAABEQACMVEDEBL/2gAIAQEABj8CIPITazQ1GHY6geZ6AD3M9f/EABwQAAICAgMAAAAAAAAAAAAAAAERACEQMUFh8f/aAAgBAQABPyFlII6CESkcKcIiCksTUDquLwx//9oADAMBAAIAAwAAABDAz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB8QAQACAQMFAAAAAAAAAAAAAAEAESEQQVFhgZHR8P/aAAgBAQABPxAbXwNnMCbPrrGnEsrXkRiDBSrHtiZyGU0qOLn0Gn//2Q==","aspectRatio":1.5151515151515151,"src":"/static/8b6e2c4e5798594e93b566abaad54ae3/0cb3d/capa.jpg","srcSet":"/static/8b6e2c4e5798594e93b566abaad54ae3/f836f/capa.jpg 200w,\n/static/8b6e2c4e5798594e93b566abaad54ae3/2244e/capa.jpg 400w,\n/static/8b6e2c4e5798594e93b566abaad54ae3/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"sistema-de-cofre/","author":["Matheus"]},"Como criar um sistema de Staking de Recompensas":{"title":"Como criar um sistema de Staking de Recompensas","description":"Nesse artigo iremos aprender a como criar um sistema de Staking de Recompensas para seu projeto, token ou jogo NFT.","tags":["Intermediário","Avançado","DeFi"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjYJLB//EABkQAAMBAQEAAAAAAAAAAAAAAAECERIEEP/aAAgBAQABBQJTOh9hVucii+f/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAcEAABBQADAAAAAAAAAAAAAAABAAIRMVEDEBL/2gAIAQEABj8CIPIS50wMUtlxxCbXoXqvr//EABwQAQACAQUAAAAAAAAAAAAAAAEAESEQMUFh0f/aAAgBAQABPyGykKOwiWguGLiSGqZI3QDqgt40/9oADAMBAAIAAwAAABCQz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB0QAQACAgIDAAAAAAAAAAAAAAEAESFhMYFBUdH/2gAIAQEAAT8QG18DZzAnh+bh/AsrXZjEGClWPWIdrykFU28xOWPoBAornc//2Q==","aspectRatio":1.5151515151515151,"src":"/static/1f6739d05d898366367ca4e25859d4c9/0cb3d/capa.jpg","srcSet":"/static/1f6739d05d898366367ca4e25859d4c9/f836f/capa.jpg 200w,\n/static/1f6739d05d898366367ca4e25859d4c9/2244e/capa.jpg 400w,\n/static/1f6739d05d898366367ca4e25859d4c9/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"sistema-de-staking/","author":["Matheus"]},"Como criar um produto constante AMM":{"title":"Como criar um produto constante AMM","description":"Nesse artigo iremos aprender a como criar um produto constante AMM através de contrato inteligente.","tags":["Intermediário","DeFi"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABsQAAIBBQAAAAAAAAAAAAAAAAISEQEEECEi/9oACAEBAAEFAhrFwbiIyq9bx//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAICAgMBAAAAAAAAAAAAAAERAAIxUQMQEnH/2gAIAQEABj8CIPITazQ1GHY6geZ6CfyZ6//EABsQAQACAwEBAAAAAAAAAAAAAAEAESExQRDx/9oACAEBAAE/IbKQo6ESaRxi4khqmSIxB07Mr5+f/9oADAMBAAIAAwAAABDgz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB4QAQEAAQMFAAAAAAAAAAAAAAERACFBcVFhgZHR/9oACAEBAAE/EBq+BpzQTZ+d8acSk17GMQYKSj40w9FkihzlHj04WF1d8//Z","aspectRatio":1.5151515151515151,"src":"/static/88c42a86253e0e291f24f1bb34dcc90c/0cb3d/capa.jpg","srcSet":"/static/88c42a86253e0e291f24f1bb34dcc90c/f836f/capa.jpg 200w,\n/static/88c42a86253e0e291f24f1bb34dcc90c/2244e/capa.jpg 400w,\n/static/88c42a86253e0e291f24f1bb34dcc90c/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"produto-constante-amm/","author":["Matheus"]},"Como criar um sistema de Swap estável AMM":{"title":"Como criar um sistema de Swap estável AMM","description":"Nesse artigo iremos aprender a como criar um sistema de Swap estável AMM através de contrato inteligente.","tags":["Avançado","DeFi"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAFxjYJLB//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDeBG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHRAAAgICAwEAAAAAAAAAAAAAAREAAjFRAxASYf/aAAgBAQAGPwIg8hNrNDUJDt8geZ6Ce5nr/8QAGxAAAgIDAQAAAAAAAAAAAAAAAREAIRAxQfH/2gAIAQEAAT8hZSCOghPsHFOERBSWIQIB2lmLzx//2gAMAwEAAgADAAAAEMDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAIBABAQABAQkAAAAAAAAAAAAAAREAIRAxQVFhgZHR4f/aAAgBAQABPxAavgac0E4PrrjMj0mvLGIMFJR7aZcVaQw5Xfgnz2f/2Q==","aspectRatio":1.5151515151515151,"src":"/static/20d3cc15810bf9257fb175a4ee49d2bc/0cb3d/capa.jpg","srcSet":"/static/20d3cc15810bf9257fb175a4ee49d2bc/f836f/capa.jpg 200w,\n/static/20d3cc15810bf9257fb175a4ee49d2bc/2244e/capa.jpg 400w,\n/static/20d3cc15810bf9257fb175a4ee49d2bc/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"sistema-de-swap-estavel-amm/","author":["Matheus"]},"Como criar uma soma constante AMM":{"title":"Como criar uma soma constante AMM","description":"Nesse artigo iremos aprender a como criar uma soma constante AMM através de contrato inteligente.","tags":["Intermediário","DeFi"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAgP/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGyjqxmg//EABoQAAICAwAAAAAAAAAAAAAAAAISAREEECH/2gAIAQEAAQUCGayDcRG1WG7r/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAHBAAAgICAwAAAAAAAAAAAAAAAREAAjFRAxAS/9oACAEBAAY/AiDyE2s0NRh2OoHmegnM9f/EABsQAAIDAAMAAAAAAAAAAAAAAAERACExEEHx/9oACAEBAAE/IWUgjgQiUjpThEQUliGiAelWYvPj/9oADAMBAAIAAwAAABDgz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EAB4QAQEAAQMFAAAAAAAAAAAAAAERACFRYRBBgZHR/9oACAEBAAE/EBq+BpzQTs/OcacSk17GMQYKSj40wwCkjhtcrzm3p//Z","aspectRatio":1.5151515151515151,"src":"/static/b26701cdc19f67714514d269fb75958c/0cb3d/capa.jpg","srcSet":"/static/b26701cdc19f67714514d269fb75958c/f836f/capa.jpg 200w,\n/static/b26701cdc19f67714514d269fb75958c/2244e/capa.jpg 400w,\n/static/b26701cdc19f67714514d269fb75958c/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"suburl":"soma-constante-amm/","author":["Matheus"]}}}},"pageContext":{}},"staticQueryHashes":["119291576","2330562257","4065828390"]}